포커스 리스너를 수행 된 동작으로 변경하는 방법, 버튼을 클릭했을 때 페이드 방법이 트리거됩니까?이벤트 리스너를 클릭했을 때 버튼 색상을 변경하십시오.
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 –