Java 向BoxLayout的下一行添加标签
我有一个方框布局,旁边有一个JLabel和一个按钮,例如:Java 向BoxLayout的下一行添加标签,java,swing,oop,layout,Java,Swing,Oop,Layout,我有一个方框布局,旁边有一个JLabel和一个按钮,例如: JFrame frame = new JFrame(); JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel,BoxLayout.X_AXIS)); panel.add(new JLabel("Reference ")); panel.add(new JButton("HI")); frame.add(pa
JFrame frame = new JFrame();
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel,BoxLayout.X_AXIS));
panel.add(new JLabel("Reference "));
panel.add(new JButton("HI"));
frame.add(panel);
frame.setSize(500,300);
frame.setVisible(true);
这将正确地显示一个名为reference的标签,并在其旁边显示一个按钮。但是如果我想在它的正下方展示同样的东西(一个新标签和另一个按钮),我会怎么做呢
因为简单地创建另一个面板,并模仿我以前所做的,似乎不起作用
即
或者在新标签中使用HTML,如
JLabel s = new JLabel("<html> <br>newLaberl </html>");
JLabel s=newjlabel(
newLaberl”);
将此添加到面板中仍然会在按钮后的同一行打印,而不是下一行,有什么想法吗?您只需设置JFrame的布局,然后按照您所说的方式工作即可。 我使用了您的示例,将框架布局设置为使用
boxlayout可能不是这种东西的最佳布局,我建议你去 并查看Oracle文档网站上记录的各种布局和教程 这一个可能对你的应用有用
JLabel s = new JLabel("<html> <br>newLaberl </html>");
JFrame frame = new JFrame();
JPanel panel = new JPanel();
JPanel panel2 = new JPanel();
frame.setLayout(new GridLayout(2,1));
panel.setLayout(new BoxLayout(panel,BoxLayout.X_AXIS));
panel.add(new JLabel("Reference "));
panel.add(new JButton("HI"));
panel2.setLayout(new BoxLayout(panel2,BoxLayout.X_AXIS));
panel2.add(new JLabel("Reference2 "));
panel2.add(new JButton("HI2"));
frame.add(panel);
frame.add(panel2);
frame.setSize(500,300);
frame.setVisible(true);