매초마다 텍스트 영역에 텍스트를 추가합니다. 이전 텍스트를 덮어 쓰거나 지우고 싶었습니다. 자바에서이 작업을 1 초마다할까요?textarea 자바의 내용을 덮어 씁니다.
감사 발렌타인 데
매초마다 텍스트 영역에 텍스트를 추가합니다. 이전 텍스트를 덮어 쓰거나 지우고 싶었습니다. 자바에서이 작업을 1 초마다할까요?textarea 자바의 내용을 덮어 씁니다.
감사 발렌타인 데
나는 당신이 스윙 JTextArea
에 대해 얘기 같아요.
JTextArea textArea = ...;
textArea.setText("Hello World");
시도했지만 추가 중 –
정말로 추가 중이십니까? 디버깅을 수행하십시오 : setText()에 전달할 내용을 확인하십시오. 새로운 텍스트인가요? 아니면 이전 텍스트 + 새 텍스트로 설정하고 있습니까? – Jesper
그 덕분에 –
가 일부 스레드를 필요로 주기적으로 뭔가를 할 것이 아니라 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();
backgraound 스레드가 JTextArea를 업데이트하면 안됩니다. –
코드 수행 작업은 무엇입니까? setText는 현재 텍스트를 지우고 지정한 내용을 새 텍스트로 입력해야합니다. setText에 전달할 매개 변수에 실제로 새 텍스트가 추가 된 이전 텍스트가 포함되어있을 가능성이 있습니까? 코드 조각을 보여줄 수 있습니까? – DaveJohnston