我正在使用 Processing 3 制作一個(gè)簡(jiǎn)單的工具。我希望按下“X”按鈕時(shí)我的草圖不會(huì)關(guān)閉。我在 StackOverflow 上發(fā)現(xiàn)了一個(gè)問題,但是當(dāng)我嘗試這樣做時(shí),出現(xiàn)以下錯(cuò)誤:ClassCastException: processing.core.PApplet$8 cannot be cast to javax.swing.JFrame我試過添加更多庫(kù),但現(xiàn)在錯(cuò)誤提示不是庫(kù)錯(cuò)誤。這里有一段代碼:import javax.swing.JFrame;void setup() { size(640, 360); ((JFrame)frame).setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);}void draw() { textSize(50); text("some text", width/2, height/2)}void exit() { println("Not exiting");}當(dāng)我嘗試運(yùn)行草圖時(shí)出現(xiàn)錯(cuò)誤ClassCastException: processing.core.PApplet$8 cannot be cast to javax.swing.JFrame
1 回答

慕萊塢森
TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
您鏈接到的答案適用于處理 2,但您正在使用處理 3。
您的錯(cuò)誤說明了一切:frame
無(wú)法強(qiáng)制轉(zhuǎn)換為JFrame
,這就是您在這里嘗試執(zhí)行的操作:
((JFrame)frame).setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
在該文件中進(jìn)行搜索"frame"
以查看frame
變量現(xiàn)在是 ajava.awt.Frame
而不是javax.swing.JFrame
。Processing 還會(huì)重寫 中的一些函數(shù),以java.awt.Frame
提供特定于 Processings 的行為和警告消息。
您可以開始研究如何防止 ajava.awt.Frame
關(guān)閉,但我也會(huì)考慮重新考慮您是否想這樣做。阻止窗口關(guān)閉有點(diǎn)反模式,因此您應(yīng)該仔細(xì)考慮是否真的需要這樣做。您還可以考慮其他選項(xiàng),例如使用全屏窗口而不是不可關(guān)閉的窗口。
添加回答
舉報(bào)
0/150
提交
取消