Java 如何使用GUI intelliJ显示框架
我正在使用IntelliJ GUI功能,我正在努力显示框架 下面是我的GUI组件的图片: 下面是我用来在IDE中配置它的代码:Java 如何使用GUI intelliJ显示框架,java,user-interface,intellij-idea,frame,Java,User Interface,Intellij Idea,Frame,我正在使用IntelliJ GUI功能,我正在努力显示框架 下面是我的GUI组件的图片: 下面是我用来在IDE中配置它的代码: public class SftpDoc extends JPanel{ private JRadioButton radioButton1; private JRadioButton radioButton2; private JRadioButton radioButton3; private JButton button1; private JComboBox
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);
}
});
}
}
运行该类时,框架是唯一出现的组件:
尝试最大化窗口或在代码-frame.setSize()中设置帧大小因此我设法让它运行并显示所有内容。我没有扩展JPanel,而是使用JFrame并调用要设置为可见的类。代码如下:
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);
}
});
}
}
您好,您必须添加frame.pack();在setVisible()方法之前 如果您使用frame.pack(),它将根据其中组件的大小自动更改框架的大小。您好,谢谢您的评论。我试着添加,但它仍然显示帧内没有任何内容。
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);