2012-02-17 3 views
3

Java가 완전히 새롭고 전 벽돌 벽에 있습니다.JTextArea를 자동으로 업데이트합니다.

내 시스템에 JTextArea가있어 라이브 업데이트를하고 싶습니다. 뭔가 데이터베이스에 table2에 추가되면 내 서버가 데이터베이스에서 새 값을 가져온 다음 JTextArea를 업데이트합니다.

어떻게 작동하는지 알 수는 없지만 작동 시키려면 Thread를 사용해야합니다.

모든/모든 도움을 크게,

답변

4

은 무엇 당신이 할 수있는 것은 다른 시간의 주어진 기간에 스레드 여론 조사 당신의 데이터베이스를 가지고, 또는 (I이와 시간을 조금 프레스 해요) 감사 과정을 귀하의 GUI 클래스가 데리러 수있는 이벤트의 일종의 데이터베이스 화재를 업데이 트하고 있습니다.

그런 다음 SwingUtilities.invokeLater()을 사용하여 JTextArea를 업데이트 할 수 있습니다. 이런 식으로 뭔가를 수행해야합니다

if (eventIsFired) 
{ 
    final String jtextAreaText = ... 
    SwingUtilities.invokeLater(new Runnable() 
    { 
     @Override 
     public void run() 
     { 
      jTextArea.setText(jTextAreaText); 
     }    
    }); 
} 

가정은 jTextArea 전역 변수로 선언 된 실제 JTextArea에 있음. jTextAreaText은 내부 클래스를 통해 액세스 할 수 있도록 final로 선언해야합니다.

+0

감사합니다. 나는 그것을 이해한다고 생각합니다. 데이터베이스에 업데이트 할 서버를 알려주는 이벤트를 실행 시키려면 어떻게해야합니까? – Krath

+0

@Krath : 필자가 알고있는 바에 따르면 데이터베이스를 가져올 수는 없지만 데이터베이스를 업데이트하는 응용 프로그램에 대한 제어 권한이 있으면 파일에 쓰거나 플래그를 설정하는 것과 같은 이벤트가 발생할 수 있습니다 데이터베이스의 열. 또한 데이터베이스에서 읽고 "JTextArea"가 자신의 응용 프로그램에서 업데이트해야하는지 판단 할 수 있습니다. – npinti

관련 문제