首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java AWT Frame 不顯示:缺少 setVisible(true) 呼叫

     編輯:程式設計綜合問答

問題代碼

public class GameFrame extends Frame {
    public void launchFrame() {
        this.setSize(500, 500);
        this.setLocation(200, 100);
        this.setResizable(false);
        // 缺少 this.setVisible(true);
    }
    public static void main(String[] args) {
        new GameFrame().launchFrame();
    }
}

修正

public void launchFrame() {
    this.setSize(500, 500);
    this.setLocation(200, 100);
    this.setResizable(false);
    this.setVisible(true); // 必須顯式設定可見
}

補充說明

  • Frame 預設 visible = false,需呼叫 setVisible(true) 才會在螢幕繪製。
  • 現代 Swing 應用建議使用 JFrame 替代 Frame,並遵循 EDT 執行緒:
    SwingUtilities.invokeLater(() -> {
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setSize(500, 500);
        f.setVisible(true);
    });
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved