【发布时间】:2019-07-07 10:36:15
【问题描述】:
我可以知道为什么我的 jPanel 没有出现在 jFrame 中吗?我想让 5 个蓝色 jPanel 出现在 jFrame 中,但为什么只有 1 个蓝色 jPanel 出现在我的 jFrame 中?感谢您的帮助!
public class NewJFrame2 extends javax.swing.JFrame {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
/**
* Creates new form NewJFrame2
*/
public NewJFrame2() {
initComponents();
JPanel[] panelArray = new JPanel[5];
JButton btnArray[] = new JButton[5];
for(int i = 0; i<5;i++)
{
panelArray[i] = new JPanel();
//panelArray[i].setVisible(true);
System.out.println(panelArray[i]);
javax.swing.border.Border border = BorderFactory.createLineBorder(Color.BLUE, 5);
panelArray[i].setBackground(Color.YELLOW);
panelArray[i].setBorder(border);
frame.getContentPane().add(panelArray[i]);
}
frame.setSize(new Dimension(500, 400));
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("A Simple JFrame");
frame.setVisible(true);
}
【问题讨论】:
-
您的
JFrame上设置了LayoutManager吗? -
没有。布局管理器的作用是什么?
-
下面的链接答案提供了比我更多的信息。但简而言之,如果没有一个框架,当您添加它们时,框架不知道 在哪里 放置它们,因此只需将它们全部放在另一个之上。使用
LayoutManager,它可以管理正在添加的东西的布局。
标签: java swing layout-manager