| 錯誤 | 原因 | 解決 |
NoClassDefFoundError | 執行時 classpath 缺少編譯產出的 .class | java -cp . button.ButtonFrameTest (含包路徑) |
NullPointerException at buttonPanel.add | buttonPanel 未實例化 (new JPanel()) | 在 ButtonFrame 建構子加 buttonPanel = new JPanel(); |
ClassNotFoundException | 包名 package button; 與目錄結構不符 | 確保 ButtonFrameTest.java 在 button/ 目錄下 |
修正後關鍵行
public ButtonFrame() {
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
buttonPanel = new JPanel(); // ★ 必須初始化
JButton yellowButton = new JButton("Yellow");
// ...
buttonPanel.add(yellowButton);
add(buttonPanel);
// ...
}
編譯執行指令
# 目錄結構
src/button/ButtonFrameTest.java
src/button/ButtonFrame.java
# 編譯
javac -d out src/button/*.java
# 執行
java -cp out button.ButtonFrameTest
建議
若仍報錯,請提供完整錯誤堆疊 (含行號) 與目錄結構,方便精準定位。
- 上一篇文章: AJAX 同步請求 async: false 解決 return true 不生效問題
- 下一篇文章: Android Studio Layout Render 問題:Failed to find style 對應 id,切換 API Level 解決
Copyright ©
程式碼之家 All Rights Reserved