我正在使用 Processing 3 制作一個簡單的工具。我希望按下“X”按鈕時我的草圖不會關閉。我在 StackOverflow 上發現了一個問題,但是當我嘗試這樣做時,出現以下錯誤:ClassCastException: processing.core.PApplet$8 cannot be cast to javax.swing.JFrame我試過添加更多庫,但現在錯誤提示不是庫錯誤。這里有一段代碼: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");}當我嘗試運行草圖時出現錯誤ClassCastException: processing.core.PApplet$8 cannot be cast to javax.swing.JFrame
1 回答

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