2

これまで、プログラムの gui をアクティブにするために、Google ツール キットに付属のデフォルトのメイン関数を使用していましたが、今は他のメイン プログラムに 1 つずつ gui を追加することを楽しみにしています。クラス オブジェクトを追加しましたが、プログラムを実行すると、フレームとラベルのみが表示されますが、フィールドとボタンはクリックオーバー/スペースをクリックして表示する必要があります。なぜですか?

public LoginGui() {
        initialize();
        uc = new UserCntrl();   
    }

    private void initialize() {
        frame = new JFrame();
        frame.setBounds(100, 100, 450, 415);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);
        frame.setVisible(true); // i have added this line

主要:

public static void main(String[] args){
        // init login GUI
        LoginGui loginGuiWindow;
        try {
            loginGuiWindow = new LoginGui();
        } catch (Exception e) {
            e.printStackTrace();
        }
4

1 に答える 1

2
  • 推測: JFrameを可視に設定した後、JFrame にコンポーネントを追加できますか? もしそうなら、それをしないでください。setVisible(true)すべてのコンポーネントを追加した後に呼び出します。
  • また、null レイアウトは使用しないでください。pack()GUI をアップグレードまたは変更したい場合にひどい頭痛の種を回避したい場合は、レイアウト マネージャーと呼び出しを使用してください。
于 2013-04-22T23:10:34.330 に答える