2009-08-27 4 views
2

매초마다 텍스트 영역에 텍스트를 추가합니다. 이전 텍스트를 덮어 쓰거나 지우고 싶었습니다. 자바에서이 작업을 1 초마다할까요?textarea 자바의 내용을 덮어 씁니다.

감사 발렌타인 데

+0

코드 수행 작업은 무엇입니까? setText는 현재 텍스트를 지우고 지정한 내용을 새 텍스트로 입력해야합니다. setText에 전달할 매개 변수에 실제로 새 텍스트가 추가 된 이전 텍스트가 포함되어있을 가능성이 있습니까? 코드 조각을 보여줄 수 있습니까? – DaveJohnston

답변

2

나는 당신이 스윙 JTextArea에 대해 얘기 같아요.

JTextArea textArea = ...; 

textArea.setText("Hello World"); 
+0

시도했지만 추가 중 –

+0

정말로 추가 중이십니까? 디버깅을 수행하십시오 : setText()에 전달할 내용을 확인하십시오. 새로운 텍스트인가요? 아니면 이전 텍스트 + 새 텍스트로 설정하고 있습니까? – Jesper

+0

그 덕분에 –

0

가 일부 스레드를 필요로 주기적으로 뭔가를 할 것이 아니라 SwingWorker을 사용하기주의 :

당신은 텍스트를 대체 할에 setText(...)를 호출 할 수 있습니다. 그렇지 않으면 GUI가 멈출 수 있습니다.

 final JTextArea ta = frame.getjTextArea1(); 

     SwingWorker worker = new SwingWorker() { 

      @Override 
      protected Object doInBackground() throws Exception { 
       while (true) { 
        ta.setText(""); 
        ta.setText(new Date().toString()); 
        Thread.sleep(1000); 
       } 
      } 
     }; 
     worker.execute(); 
+0

backgraound 스레드가 JTextArea를 업데이트하면 안됩니다. –

관련 문제