JSliders上的可点击标签

时间:2015-10-06 20:01:53

标签: labels mouselistener clickable jslider

我有一个JSlider,我正在设置JLabel(显示图标)作为JSlider上的标签。 JLabels只显示一个图标。我有一个连接到JLabel的MouseListener来监听JLabel上的Mouse Click事件。然而,听众永远不会被召唤。我已经阅读了有关设置Z顺序等的内容,但我不确定如何在JSlider的标签上设置它。当用户点击标签时,我试图让滑块移动到标签的确切位置。我不想显示任何刻度。

slider = new JSlider(0, 1000, 0);
Hashtable< Integer, JLabel > markers = new Hashtable< Integer, JLabel >();
MyMarker mark300 = new MyMarker(300);
mark300.addMouseListener(MyListener);
MyMarker mark575 = new MyMarker(575);
mark575.addMouseListener(MyListener);
MyMarker mark820 = new MyMarker(820);
mark820.addMouseListener(MyListener);
markers.put(300, mark300);
markers.put(550, mark575);
markers.put(820, mark820);
slider.setLabelTable(markers);

鼠标点击事件永远不会到达MyListener。滑块似乎捕获了所有事件。

0 个答案:

没有答案