根据本教程,应该执行以下操作来自定义 JSlider 的标签:
JSlider framesPerSecond = new JSlider(JSlider.VERTICAL,
FPS_MIN, FPS_MAX, FPS_INIT);
framesPerSecond.addChangeListener(this);
framesPerSecond.setMajorTickSpacing(10);
framesPerSecond.setPaintTicks(true);
//Create the label table
Hashtable labelTable = new Hashtable();
labelTable.put( new Integer( 0 ), new JLabel("Stop") );
labelTable.put( new Integer( FPS_MAX/10 ), new JLabel("Slow") );
labelTable.put( new Integer( FPS_MAX ), new JLabel("Fast") );
framesPerSecond.setLabelTable( labelTable ); //ERROR
framesPerSecond.setPaintLabels(true);
实际上 Eclipse 抱怨 setLabelTable 想要的是 Dictionary 而不是 HashTable(我使用的是 sun sdk 1.6.0_25)。错误如下:
JSlider 类型中的方法 setLabelTable(Dictionary) 不适用于参数(Hashtable)
我在 Internet 上找到的所有示例都告诉我这样做。
所以有什么问题?
编辑:
我的问题是错误的。这只是一个包含错误。看看我的回答。