上面代码设置后 里面的组件不显示
时间: 2023-08-06 12:03:21 浏览: 83
如果你设置了JPanel的布局管理器为null,那么你需要手动设置每个组件的位置和大小,否则这些组件将不会显示在窗口中。你可以使用setBounds方法设置组件的位置和大小,或者使用其他的布局管理器来自动设置组件的位置和大小。
以下是使用setBounds方法设置组件位置和大小的示例代码:
```
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建一个JPanel作为内容面板
JPanel contentPane = new JPanel();
contentPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); // 去掉边框
contentPane.setLayout(null); // 设置布局管理器为null
// 创建一个JLabel组件
JLabel label = new JLabel("Hello World");
label.setBounds(50, 50, 100, 20); // 设置位置和大小
// 将组件添加到JPanel中
contentPane.add(label);
// 将JPanel设置为窗口的内容面板
frame.setContentPane(contentPane);
// 显示窗口
frame.pack();
frame.setVisible(true);
```
在上面的代码中,我们创建了一个JLabel组件,并使用setBounds方法设置了它的位置和大小。然后将它添加到JPanel中,最后将JPanel设置为窗口的内容面板。这样,当窗口显示时,这个JLabel组件就会显示在窗口中。
阅读全文