JButton에서 Java 타이머를 올바르게 사용하는 방법을 모르겠다는 문제점이 있습니다.JButton을 사용한 Java 타이머 사용
내가 필요의 개념 - 나는 텍스트의 JButton를 클릭
"0"다음 제로까지 이초부터 계산 타이머를 시작합니다.
버튼을 놓으면 프로그램이 상황을 확인합니다 :
타이머가 0이면 JTextField 기호 "+"에 표시되고 그렇지 않으면 "0"이 표시됩니다.
다음은 프로그램 코드입니다. 누군가 내가 원하는 아이디어처럼 프로그램을 작동시키는 데 필요한 것을 추가 할 수 있습니까?
public class DialPanel extends JPanel {
private MainFrame frame;
public DialPanel(MainFrame frame) {
this.frame = frame;
this.setLocation(0, 90);
this.setSize(300, 290);
this.setLayout(null);
this.setBackground(color);
this.initContent();
}
// -------------------------------------------------------------------------
private JButton btnNumZero;
private JTextField txfNumber;
private void initContent() {
txfNumber = new JTextField();
this.add(txfNumber);
txfNumber.setSize(190, 30);
txfNumber.setLocation(30, 0);
txfNumber.setFocusable(false);
txfNumber.addActionListener(controller);
btnNumZero = new JButton();
this.add(btnNumZero);
btnNumZero.setText("0");
btnNumZero.setFocusable(false);
btnNumZero.setSize(30, 30);
btnNumZero.setLocation(10, 10);
btnNumZero.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//Start someTimer countdown from two seconds
}
});
btnNumZero.addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent e) {
//Stop someTimer
//if someTimer == 0 seconds then do this line:
txfNumber.setText("+");
//else do this line:
txfNumber.setText("0");
}
});
}
}
코드에 불필요한 오류가 있으면 죄송합니다. 나는 하나의 코드에서 많은 것을 삭제하고 변경하여 더 읽기 쉽고 이해하기 쉬울 것입니다.
뭔가를 할 수 있습니다. (성자와 악마는 Swing의 관점에서 정의됩니다)) – Sage
저는 인터넷에서 타이머를 JButton에 추가하는 방법을 알아 보려고했지만 이해하지 못했습니다. 아무것도 작동하지 않습니다. 그래서 누군가 내가 원하는 것처럼 프로그램 작업을 할 수있는 타이머를 추가 할 수 있는지 물었습니다. –
스윙 작업. [Swing Timer tutorial] (http://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html)을 살펴보십시오. – Sage