如何將焦點偵聽器更改爲僅執行的操作,因此當點擊該按鈕時,會觸發淡入淡出方法?Event Listener點擊時更改按鈕顏色
class FaderTimer implements FocusListener, ActionListener {
private ArrayList colors;
private JButton component;
private Timer timer;
private int alpha;
private int increment;
FaderTimer(ArrayList colors, JButton component, int interval) {
this.colors = colors;
this.component = component;
component.addFocusListener(this);
timer = new Timer(interval, this);
}
public void focusGained(FocusEvent e) {
alpha = 0;
increment = 1;
timer.start();
}
public void focusLost(FocusEvent e) {
alpha = steps;
increment = -1;
timer.start();
}
public void actionPerformed(ActionEvent e) {
alpha += increment;
component.setBackground((Color) colors.get(alpha));
if (alpha == steps || alpha == 0) {
timer.stop();
}
}
}
}
你需要兩個'ActionListener's,一個按鈕和一個用於'Timer' – MadProgrammer
你還必須考慮到原代碼是淡入和淡出,所以你需要決定應該採取什麼行動(你在淡出還是輸出) – MadProgrammer
當我點擊按鈕時,我想消失,那是怎麼回事? @MadProgrammer –