2017-11-04 7 views
0

このコードを実行しようとすると、操作が終了したというメッセージが表示されますが、コードにエラーはなく、すべてが正常であるようです。Java splitpaneヘルプコード終了時に実行します

public class Component1 extends JFrame 
{ 
    public Component1() { 

     setTitle("GUI"); 
     setSize(150, 150); 

     //The code below creates the two panels of the UI And they are both labelled with names. 
     JPanel jsp1 = new JPanel(); 
     JPanel jsp2 = new JPanel(); 
     JLabel j1 = new JLabel("Left Side"); 
     JLabel j2 = new JLabel("Right Side"); 

     //jsp1 and jsp2 work together with the code above to create the two panels of the interface by adding "J1" and "J2" this allows 
     //both sides to be labelled and appear on the UI   

     jsp1.add(j1); 
     jsp2.add(j2); 

     JSplitPane splitPane = new 
JSplitPane(JSplitPane.HORIZONTAL_SPLIT, 
      true, jsp1, jsp2); 

     splitPane.setOneTouchExpandable(true); 
     getContentPane().add(splitPane); 
    } 

    public static void main(String[] args) 
    { 
     Component1 sp = new Component1(); 
     sp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     sp.setVisible(true); 
    } 
    Component1panel panel = new Component1panel(); 
} 

答えて

0

main()の終了時にアプリケーションを終了します。あなたのフレームを保持するスレッドを開始する必要があります。

は(必要に応じてインポートを修正)これまで、あなたのメインの編集をしてみてください。

public static void main(String[] args){ 
    javax.swing.SwingUtilities.invokeLater(new Runnable() { 
     public void run() { 

      // build and show your GUI    

      Component1 sp = new Component1(); 
      sp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      sp.setVisible(true); 
     } 
    }); 
} 

また、多分JFrameハローワールドへのリンクが役立ちますアドバイスlink

+1

おかげで、私のコードはそう今働いている、ありがとう。 –

+0

喜んで助けてください。プログラミングに幸運を祈る。また、java docsへのリンクもあります。https://docs.oracle.com/javase/tutorial/uiswing/components/frame.html –

関連する問題