Java GUI布局 [英] Java GUI Layouts
本文介绍了Java GUI布局的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有人可以告诉我我需要使用哪种Java布局来实现以下布局:
Could somebody tell me which java layout I need to use to achieve the layout below:
我目前正在使用FlowLayout,但是我无法使输入字段在输出窗口旁边对齐:
I am currently playing out with the FlowLayout however I can’t get the entry fields to line up beside the output window:
很抱歉,这是一个简单的问题,这是我第一次使用java.这是我的框架代码:
Apologies if this is a simple question this is my first time using java. Here is my frame code:
private void makeFrame()
{
setLayout(new FlowLayout(0));
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
JPanel panel4 = new JPanel();
JPanel panel5 = new JPanel();
JPanel panel6 = new JPanel();
JPanel panel7 = new JPanel();
panel1.setLayout(new FlowLayout(0));
panel2.setLayout(new FlowLayout(0));
panel3.setLayout(new FlowLayout(0));
panel4.setLayout(new FlowLayout(0));
panel5.setLayout(new FlowLayout(0));
panel6.setLayout(new FlowLayout(0));
panel7.setLayout(new FlowLayout(0));
JLabel firstnameJLabel = new JLabel("First Name");
JLabel lastnameJLabel = new JLabel("Last Name");
JLabel streetJLabel = new JLabel("Street");
JLabel townJLabel = new JLabel("Town");
JLabel postcodeJLabel = new JLabel("Post Code");
panel1.add(listAllBtn);
panel1.add(listPersonalBtn);
panel1.add(listBusinessBtn);
panel1.add(addPersonalBtn);
panel1.add(addBusinessBtn);
panel1.add(deleteBtn);
panel1.add(findBtn);
panel1.add(quitBtn);
panel2.add(firstnameJLabel);
panel2.add(this.firstNameField);
panel2.add(this.bookScrollPane);
this.outputArea.setEditable(false);
panel3.add(lastnameJLabel);
panel3.add(this.lastNameField);
panel4.add(streetJLabel);
panel4.add(this.streetField);
panel5.add(townJLabel);
panel5.add(this.townField);
panel6.add(postcodeJLabel);
panel6.add(this.postcodeField);
panel7.add(enterBtn);
add(panel1);
add(panel2);
add(panel3);
add(panel4);
add(panel5);
add(panel6);
add(panel7);
enterBtn.addActionListener(this);
}
推荐答案
自从我使用Swing以来已经有一段时间了,但是看起来体系结构是这样的:
Been a while since I worked with Swing, but it looks like the architecture is something like this:
- 您在底部的面板是BorderLayout
- 在其中,您总共添加了4个新面板,分别是NORTH,WEST,CENTER和EAST
- 在BorderLayout.NORTH中添加一个具有FlowLayout.LEFT的面板
- 在BorderLayout.WEST中,添加一个具有GroupLayout.YAXIS的面板.该面板包含名称等的标签和ENTER按钮
- 在BorderLayout.CENTER中,添加与标签相对应的文本字段
- 在BorderLayout.EAST中添加JSCrollpane.
这可能会给您带来一个想法,您可以在这些不同的面板上玩耍,以达到所需的目的
This might give you an idea and you can play around with these different panels to achive what you want
这篇关于Java GUI布局的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文