我不明白为什么编译程序时panel.add(txtnum1)
和panel.add(button2)
没有显示出来。 panel.add(button)
工作得很好,我的编译器没有抛出任何警告或错误,我是否错过了什么?
package gui;
import javax.swing.*;
import java.awt.*;
public class GUI {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setVisible(true);
frame.setSize(new Dimension(300, 500));
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setBackground(Color.GRAY);
frame.getContentPane().add(panel);
JButton button = new JButton("Submit");
panel.add(button);
JTextField txtnum1 = new JTextField();
txtnum1.setPreferredSize(new Dimension(30, 50));
panel.add(txtnum1);
JButton button2 = new JButton("Clear");
panel.add(button2);
}
}
答案 0 :(得分:1)
使用Swing实现GUI应用程序时,我喜欢在构建i
的代码中使用此方法(我们假设在JFrame
容器内没有JPanel
个容器的简单GUI和那样的东西):
JPanel
并初始化JFrame
JPanel
内的每个JFrame
添加小组JPanel
(从 2重复) JFrame
所以,你的代码看起来像这样:
JFrame
经过测试,可以在Eclipse中使用。
答案 1 :(得分:0)
在添加完所有组件后,最后应调用setVisible(true)。
将frame.setVisible(true);
放在最后,它将按预期工作。