2016-09-13 11 views
-1
MyFrame(){ 
    String titel = "Rezept"; 
    JLabel label = new JLabel(titel); 
    JButton abutton = new JButton("Abbrechen"); 
    JButton sbutton = new JButton("Speichern"); 

    JPanel jp1 = new JPanel(); 
    jp1.setLayout(new FlowLayout(FlowLayout.CENTER)); 
    jp1.add(label); 

    JPanel jp2 = new JPanel(); 
    jp2.setLayout(new GridLayout(1,2)); 
    jp2.add(abutton); 
    jp2.add(sbutton); 

    setLayout(new BorderLayout()); 
    setSize(300,500); 
    setDefaultCloseOperation(EXIT_ON_CLOSE); 
    setVisible(true); 
    add(jp1, BorderLayout.NORTH); 
    add(jp2, BorderLayout.SOUTH); 
} 

    public static void main(String[]args){ 
     new MyFrame(); 
    } 

私はそれを得ることができません。このGUIを実行すると、何も印刷されません。私のGUIは全く何も印刷しません

空のフレームしか取得できません。私はここで間違って何をしていますか?

+0

通常、フレームの[コンテンツペイン](https://docs.oracle.com/javase/7/docs/api/javax/swing/JFrame.html#getContentPane%28%29)にstuffを追加します。 – khelwood

+0

フラグメントの代わりにコンパイル可能なサンプルを投稿できますか? – khelwood

+0

あなたは、再描画または再検証メソッドを使用しようとしましたか? – nowszy94

答えて

1

あなたがのJPanelを追加する前にメソッドsetVisible(true);を呼び出した場合、あなたが何かを見ることはありません...

の変化のようなものへの順序(コードは、クラス「をMyFrameはJFrameのを拡張する」である):

その後
add(jp1, BorderLayout.NORTH); 
add(jp2, BorderLayout.SOUTH); 
setVisible(true); 

あなたは

enter image description here

のようなものが表示されるはずです
+1

投稿されたコードに 'setVisible(true)'と書いてあります。 – khelwood

+0

ああ、私はそれを得ました...私は答えをuodate、あなたは呼び出しメソッドの呼び出しを表示する必要があります***あなたはすべての子コンポーネントを追加した後***を呼び出す必要があります... –

関連する問題