2011-06-13 2 views
2

JFrame의 현재 날짜와 시간을 JLabel로 표시하지만 자동으로 업데이트하는 방법을 찾고 있습니다. 창에 그려지면 수동으로 업데이트하는 것에 대해 걱정할 필요가 없습니다. 매 2 초마다 새로 고침하기 때문입니다.Java Swing에서 텍스트 변경 표시 방법 (즉, 초 표시 변경 시간 표시)

올바른 방법이 있습니까? JLabel의 텍스트 값을 2 초마다 수동으로 변경하는 대신

답변

14

javax.swing.Timer을 사용하여 Swing 구성 요소에 대한 업데이트가 EDT에서 발생하는지 확인하십시오.

Timer t = new javax.swing.Timer(2000, new ActionListener(){ 
    @Override 
    public void actionPerformed(ActionEvent e){ 
     yourLabel.setText(...); 
    } 
}); 
t.start(); 
+0

내가 필요 정확히 무엇인지, 감사 – n0pe

+0

및 타이머 http://www.java2s.com/Code/Java/Swing-JFC/Anappletthatcountsdownfromaspecifiedtime.htm에 대한 몇 가지 예제와 함께 튜토리얼에 대한 링크에 대한 – mKorbel

7

스윙 Timer을 사용하십시오. the tutorial은 설명하기 때문에 작업에 필요한 도구입니다.

SwingUtilities.invokeLater() 또는 SwingUtilities.invokeAndWait()을 삽입하는 것만 사용할 수 있습니다.

+0

감사합니다 – n0pe