내 프로그램에는 동시에 4 개의 스레드 인 addElemets가 jlist의 모델에 있습니다. 이렇게하면 너무 많은 업데이트 또는 다시 칠하기 때문에 jlist가 깜박 거리거나 excpetions를 던지거나 충돌 할 수 있습니다.4 개의 스레드가 하나의 jlist에 추가됩니다.
나는 내 문제를 해결하는 약간의 지연을 두려고했지만, 나는 많은 귀중한 시간을 잃고 있었다.
어떻게해야합니까?
new Thread(new Runnable() {
@Override
public void run() {
for(int i=0; i<4; i++){
new Thread(new Runnable() {
@Override
public void run() {
for(int o=0; o<2000; o++){
model.addElement("add");
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}).start();
}
}
}).start();
더 나은 도움을 받으려면 [SSCCE] (http://sscce.org/)를 게시하십시오. –
스윙 GUI 객체는 [이벤트 발송 스레드] (http://docs.oracle.com/javase/tutorial/uiswing/concurrency/initial.html)에서 _only_ 작성 및 조작해야합니다. – trashgod
모델은 어떻게 보이나요? addElement 메소드는 무엇을합니까? addElement 메소드가 실행될 때마다 프로그램을 다시 칠하도록 강요하면 분명히 깜박 거립니다 :-) –