JavaJSlider:Dictionary不推荐用于方法setLabelTable,我还应该使用什么?

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

我目前正在尝试为Java中的JSlider设置一个自定义标签

我查阅了Java API,发现了这个方法:
public void setLabelTable(字典标签)

不幸的是,
Dictionary
类及其子类
Hashtable
已经过时

根据这一问题的答案:

Hashtable
类已被
HashMap
替换

因此,我尝试发送一个
哈希映射
,而不是
哈希表
,我非常怀疑它是否有效

正如所料,编译器给了我以下错误:

不兼容类型:HashMap无法转换为字典

我可以选择使用
字典
哈希表
类,并使用
Xlint:Deprecated
进行编译,它将给出我想要的结果

但我不想使用已经过时一段时间的东西

我应该使用什么来代替设置标签表(字典标签)

或者除了使用
可设置标签(字典标签)
,没有其他方法了吗


我希望在不使用已弃用或过时的API的情况下生成此GUI。

字典和哈希表类已弃用,以备将来使用,不应用于只需要存储键值对的应用程序。(如您所见,新的应用程序应该使用Collections类
HashMap

但是,对于像您这样调用另一个需要
字典
哈希表
作为参数的函数的应用程序,使用较旧的类仍然很好。你真的别无选择

如果希望尽量减少项目中使用旧类的代码量,可以使用
HashMap
存储标签,然后使用
setLabelTable
以及
Hashtable
构造函数,该构造函数从
HashMap
构建
Hashtable
,如下所示:

 mySlider.setLabelTable(new Hashtable(myLabelHashMap))