コードでマルチスレッドを使用しているときに、次の驚くべき例外が発生しますが、それがどこで発生するかわかりません。また、この例外は時々しか発生しません。
スレッド「AWT-EventQueue-0」での例外 java.util.NoSuchElementException: javax.swing.plaf.basic.BasicTableHeaderUI.getPreferredSize(BasicTableHeaderUI.java) の java.util.Vector$1.nextElement(Vector.java:348) でのベクトル列挙:793) javax.swing.JComponent.getPreferredSize(JComponent.java:1660) で
アプリケーションでマルチスレッドに以下のコードを使用しています。
try {
Thread Thread4 = new Thread() {
public void run() {
GetOrderData(mID, "OrderInfo_Orn");
}
};
Thread4.start();
Thread4.sleep(20);
Thread Thread5 = new Thread() {
public void run() {
GetOrderData(mID, "OrderInfo_Parts");
}
};
Thread5.start();
Thread5.sleep(20);
Thread queryThread = new Thread() {
public void run() {
GetMasterData(mID, rowId);
}
};
queryThread.start();
queryThread.sleep(20);
Thread Thread2 = new Thread() {
public void run() {
GetDetailData(mID, "'RcvPrePolishGoods_Detail'");
}
};
Thread2.start();
Thread2.sleep(20);
Thread Thread3 = new Thread() {
public void run() {
GetDetailData(mID, "'RcvPrePolishGoods_Parts'");
}
};
Thread3.start();
Thread3.sleep(20);
} catch (InterruptedException ex) {
Logger.getLogger(RcvPrePolishGoods.class.getName()).log(Level.SEVERE, null, ex);
}