2 回答

TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊
也許你在這里還有另一個問題(與 Swing 相關(guān)):
您
new JFrame("Chatter")
只是創(chuàng)建了一個新的 JFrame 并且不對其執(zhí)行任何操作。你必須super("Chatter");
調(diào)用超級構(gòu)造函數(shù)嘗試
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)

TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊
您是否嘗試過將您的online財產(chǎn)申報為volatile?
private volatile boolean online = true;
如果您不將屬性聲明為volatile,JIT 編譯器可以假設(shè)您的布爾屬性不會被另一個線程更改。所以它可能會優(yōu)化你的運(yùn)行方法
public void run() {
if (!online)
return;
while(true) {
try(/*...*/) {
// ...
} catch(/*...*/) {
// ...
}
}
}
添加回答
舉報