2016-07-25 5 views
1

Ich benutze IntelliJ GUI Eigenschaft und ich kämpfe, um den Rahmen anzuzeigen. HierWie man einen Rahmen mit GUI anzeigt intelliJ

ist ein Bild von meiner GUI-Komponenten:

enter image description here

Und hier ist der Code habe ich es in meiner IDE zu konfigurieren:

public class SftpDoc extends JPanel{ 

private JRadioButton radioButton1; 
private JRadioButton radioButton2; 
private JRadioButton radioButton3; 
private JButton button1; 
private JComboBox comboBox1; 
private JTextField textField1; 
private JButton browseButton; 
private JButton button2; 
private final static JPanel panel = new JPanel(); 

public SftpDoc(){ 

    panel.add(button1); 
    panel.add(comboBox1); 
    panel.add(radioButton1); 
    panel.add(textField1); 
    panel.add(browseButton); 
    panel.add(radioButton2); 
    panel.add(radioButton3); 
    panel.add(button2); 

} 

public static void main(String[] args) { 

    SwingUtilities.invokeLater(new Runnable() { 
     public void run() { 
      JFrame frame = new JFrame(); 
      frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
      frame.getContentPane().add(panel); 
      frame.setVisible(true); 

     } 
    }); 

} 
} 

Wenn ich laufen die Klasse den Rahmen ist die einzige Komponente, die angezeigt wird: enter image description here

Antwort

0

Versuchen Sie, das Fenster zu maximieren, oder legen Sie die Rahmengröße fest e im code - frame.setSize()

+0

Wenn Sie frame.pack() verwenden, wird die Größe der Frames automatisch entsprechend der Größe der darin enthaltenen Komponenten geändert. – Michael

+0

Hallo danke für deinen Kommentar. Ich habe versucht, das hinzuzufügen, aber es zeigt immer noch, dass es nichts in dem Rahmen gibt. – Hendrien

0

So habe ich es geschafft, es zu laufen und alles zu zeigen. Anstatt JPanel zu erweitern, habe ich JFrame verwendet und die Klasse aufgerufen, die sichtbar gemacht werden soll. Der Code ist wie folgt:

public class SftpDoc extends JFrame { 

private JRadioButton radioButton1; 
private JRadioButton radioButton2; 
private JRadioButton radioButton3; 
private JButton button1; 
private JComboBox comboBox1; 
private JTextField textField1; 
private JButton browseButton; 
private JButton button2; 
private final static JPanel panel = new JPanel(); 

public SftpDoc() { 

    panel.add(button1); 
    panel.add(comboBox1); 
    panel.add(radioButton1); 
    panel.add(textField1); 
    panel.add(browseButton); 
    panel.add(radioButton2); 
    panel.add(radioButton3); 
    panel.add(button2); 
    panel.revalidate(); 
    add(panel); 
    pack(); 
} 

public static void main(String[] args) { 

    SwingUtilities.invokeLater(new Runnable() { 
     public void run() { 
      new SftpDoc().setVisible(true); 
     } 
    }); 

} 
} 
0
frame.getContentPane().add(panel); 
frame.pack(); 
frame.setVisible(true); 

Hallo, Sie haben frame.pack hinzufügen(); vor der Methode setVisible().

Verwandte Themen