我的 ServerSetup smtpServerSetup = ...
ServerSetup pop3ServerSetup = ...
GreenMail greenMail = new GreenMail(new ServerSetup[]{smtpServerSetup, pop3ServerSetup});
greenMail.start(); // Starts both smtp and pop3
有一个JSlider
作为属性。 iconScaleManager
拥有一个iconScaleManager
,该值对应于int
个刻度。 JSlider
由另一个类int
修改,该类添加在2个JButton上。
目标是:我希望旋钮单独移动到与刻度线相对应的ActionListener
的实际值。
我想我需要绑定值或触发事件,但是我不知道该怎么做。
当然,我在JSlider上添加了一个ChangeListener:
int
答案 0 :(得分:0)
为简化使用,我使按钮的ActionListener
更改了JSlider
中setValue(iconScaleManager.getScaleIndex())
(actionPerformed()
)的状态。 (这比我想象的要简单)。感谢@MadProgrammer。
public class ZoomListener implements ActionListener {
private boolean zoomIn = false;
private JSlider zoomSlider = null;
private IconScaleManager iconScaleManager = null;
public ZoomListener(boolean zoom, JSlider slider, IconScaleManager renderer) {
zoomIn = zoom;
zoomSlider = slider;
iconScaleManager = renderer;
}
@Override
public void actionPerformed(ActionEvent e) {
iconScaleManager.scaleButton(zoomIn);
System.out.println(iconScaleManager.getScaleIndex());
zoomSlider.setValue(iconScaleManager.getScaleIndex());
}
}