JavaJSlider:Dictionary不推荐用于方法setLabelTable,我还应该使用什么?
我目前正在尝试为Java中的JSlider设置一个自定义标签 我查阅了Java API,发现了这个方法:JavaJSlider:Dictionary不推荐用于方法setLabelTable,我还应该使用什么?,java,user-interface,jslider,Java,User Interface,Jslider,我目前正在尝试为Java中的JSlider设置一个自定义标签 我查阅了Java API,发现了这个方法:public void setLabelTable(字典标签) 不幸的是,Dictionary类及其子类Hashtable已经过时 根据这一问题的答案: Hashtable类已被HashMap替换 因此,我尝试发送一个哈希映射,而不是哈希表,我非常怀疑它是否有效 正如所料,编译器给了我以下错误: 不兼容类型:HashMap无法转换为字典 我可以选择使用字典和哈希表类,并使用Xlint:Depr
public void setLabelTable(字典标签)
不幸的是,Dictionary
类及其子类Hashtable
已经过时
根据这一问题的答案:
Hashtable
类已被HashMap
替换
因此,我尝试发送一个哈希映射
,而不是哈希表
,我非常怀疑它是否有效
正如所料,编译器给了我以下错误:
不兼容类型:HashMap无法转换为字典
我可以选择使用字典
和哈希表
类,并使用Xlint:Deprecated
进行编译,它将给出我想要的结果
但我不想使用已经过时一段时间的东西
我应该使用什么来代替设置标签表(字典标签)
或者除了使用可设置标签(字典标签)
,没有其他方法了吗
我希望在不使用已弃用或过时的API的情况下生成此GUI。字典和哈希表类已弃用,以备将来使用,不应用于只需要存储键值对的应用程序。(如您所见,新的应用程序应该使用Collections类
HashMap
)
但是,对于像您这样调用另一个需要字典
或哈希表
作为参数的函数的应用程序,使用较旧的类仍然很好。你真的别无选择
如果希望尽量减少项目中使用旧类的代码量,可以使用HashMap
存储标签,然后使用setLabelTable
以及Hashtable
构造函数,该构造函数从HashMap
构建Hashtable
,如下所示:
mySlider.setLabelTable(new Hashtable(myLabelHashMap))