2016-10-17 4 views
1

次のコードを実行すると、ボタンとサブパネルのない空のウィンドウのみが開きます。誰か助けてくれますか?パネルをサブコンテナとして使用してメソッドを追加する

public class TestPanels extends JFrame{ 
    public TestPanels(){ 
     //Create first panel 
     JPanel panel1= new JPanel(); 
     panel1.setLayout(new GridLayout(4, 3)); 

    for(int i=1; i<=9; i++){ 
      panel1.add(new JButton(""+i)); 
      } 

     // Create Second panel 
     JPanel panel2=new JPanel(new BorderLayout());  
     panel2.add(new JTextField("Time to Display Here"), BorderLayout.NORTH); 
     panel2.add(panel1, BorderLayout.CENTER); 

    } 

    public static void main(String[] args){ 
     TestPanels test= new TestPanels(); 

     test.setTitle("Test Panel"); 

    } 
} 
+1

あなたはパネルにフレームを追加しません。また、私はこのコードが何かを表示するとは思わない、フレームは表示されていません。 – Berger

+0

@Berger *「このコードでは何も表示されないとは思えませんが、フレームは表示されません」*良い点:より早くヘルプをするには、[MCVE]または[ショート、自己完結型、 ](http://www.sscce.org/)を参照してください*実際のコードではなく、いくつかのナンセンスコードではなく、問題を示しています。 –

答えて

1

実際の問題は次のとおりです。Swingについて学ぶことは、Javaでの最初のステップと「異なる」ことです。

つまり、画面上にJFrameを表示するには、特定のメソッドを呼び出す必要があります。そして、そのJFrameに「何か」を得るためには、より多くのことが起こる必要があります。

意味:学習「試行錯誤」によるUIのスイングは機能しません。先に学習したこととは対照的に、Oracleのoneのようなチュートリアルから始めて、それに従ってください。そして、それが本当にうまくいったら、あなた自身のコードでそれらを強化しようとします!

私の答えには結果に到達する必要があるコードのマルチプルラインは含まれていませんが、これらのことを詳細に説明するリソースを探すことをお勧めします!あなたが後でやりたいことが何であれ、再びの研究の必要な文脈はの前にの "行動モード"に入る前にのみ働くかもしれないからです。

関連する問題