0

簡単な Java プログラムを作成しました。まず、JWindow を拡張するクラスにコンポーネントを追加してから表示します。

public class G4TestWindow extends JWindow {

    public G4TestWindow(){
        JLabel hah=new JLabel("Wooh");
        getContentPane().setLayout(new BorderLayout());
        getContentPane().add(hah);
        pack();
        setVisible(true);
    }
}

メインクラスで起動します。

public class G4Test extends JWindow {

    public static void main(String []args){
        G4TestWindow g4tw=new G4TestWindow();   
        System.exit(-1);
    }
}

しかし、使用してもJava JVMから終了できませんSystem.exit(-1)genContentPane().add(hah)その理由は何度も試行した後であることがわかりました(これを省略した場合、JVM は正常に終了します)。

どうしてこれなの?

4

1 に答える 1

0

なぜ失敗するのかわかりません。System.exit に到達し、私のシステム (Mac では JDK 1.6) で終了します。

ただし、BorderLayout レイアウト マネージャーを正しく使用していません。BorderLayout を使用する場合、コンポーネントを追加するたびに、次のように領域を指定する必要があります。

getContentPane().add(hah, BorderLayout.CENTER);

これを修正して、より良い結果が得られるかどうかを確認してください。

于 2012-09-17T01:46:28.917 に答える