【发布时间】:2015-03-28 20:09:46
【问题描述】:
我正在学习 Java Swings,我正在创建一个框架,并且我想向其中添加多个具有不同方向的面板,正如您在下面的代码 jpanet_1 和 jpanel_2 中看到的那样,它们每个都有一个特定的使用setBound() 方法设置尺寸。
问题是在运行时,“hello world”只出现在第二个面板中,没有出现在第一个面板中。我尝试切换将两个面板添加到主框架的顺序,如下所示:
jFrame_2.add(jPanel_2);
jFrame_2.add(jPanel_1);
但是,“hello world”仅添加到 panel_2。
-
请让我知道如何将两个面板添加到框架中,以便语句“hello world”出现在两者中
-
正如您在代码中看到的,我为希望添加到框架的每个面板指定尺寸,然后添加它,是否有任何其他推荐的方式将面板添加到框架?
代码:
public class GUI_01 {
JFrame jFrame_1;
JFrame jFrame_2;
JPanel jPanel_1;
JPanel jPanel_2;
final JLabel jLabel_Hello = new JLabel("Hello World");
JOptionPane jOptions;
final String[] options = {"yes", "no", "maybe"};
public GUI_01() {
// TODO Auto-generated constructor stub
setUpGUI1();
setUpGUI2();
}
private void setUpGUI2() {
// TODO Auto-generated method stub
jFrame_2 = new JFrame("Border Demo");
jPanel_1 = new JPanel();
jPanel_2 = new JPanel();
jPanel_1.setBorder(BorderFactory.createTitledBorder("title"));
jPanel_1.setBounds(30, 100, 110, 300);
jPanel_1.add(jLabel_Hello);
jPanel_2.setBorder(BorderFactory.createLoweredBevelBorder());
jPanel_2.setBounds(20, 50, 120, 80);
jPanel_2.add(jLabel_Hello);
jFrame_2.setBounds(0, 0, 600, 600);
jFrame_2.add(jPanel_1);
jFrame_2.add(jPanel_2);
jFrame_2.setVisible(true);
}
【问题讨论】:
标签: java swing jpanel layout-manager border-layout