我被告知使用swing来设计这个。谁能告诉我怎么做吗?
我是java新手,请帮助我 要求是这样的我被告知使用swing来设计这个。谁能告诉我怎么做吗?,swing,Swing,我是java新手,请帮助我 要求是这样的 *-----------------------------------------------* | label A | field A | | label B | field B | | label C | field C | | label D | field D
*-----------------------------------------------*
| label A | field A |
| label B | field B |
| label C | field C |
| label D | field D |
| |
| Button1 Button2 Button3 Button4 |
| |
| |
| JTABLE |
| |
*-----------------------------------------------*
我已尝试使用此代码
'我正在创建组布局'
javax.swing.GroupLayout=newjavax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(布局)
创建水平组
layout.setHorizontalGroup(
'这是一个垂直布局'
layout.setVerticalGroup(
layout.createParallelGroup()
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(40, 40, 40)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel2)
.addComponent(txtitem, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3)
.addComponent(txtprice, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4)
.addComponent(txtquantity, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5)
.addComponent(txtreorder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
// .addComponent(btnadd))
.addGap(40, 40, 40)
.addComponent(btnadd,javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtreorder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnupdate,javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtreorder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btndelete,javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtreorder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnlist,javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtreorder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
//.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)
//.addContainerGap()
)));
}
如果没有GUI设计器,则无法阅读和使用您上载的代码。在学习阶段,请尽量避免使用GUI设计器。在学习期间,最好始终坚持使用标准的简单布局 为了使代码保持简单,您可以尝试以下方法: 生成的JFrame如下所示: 您可能需要对JLabel水平对齐进行一些调整,以使事情正确 此示例代码应完成以下工作:
public class LayoutSample extends JFrame {
public LayoutSample() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p1 = new JPanel(new BorderLayout());
p2 = new JPanel(new BorderLayout());
p3 = new JPanel(new GridLayout(4, 2));
p4 = new JPanel(new FlowLayout());
p5 = new JPanel(new BorderLayout());
l1 = new JLabel("Label1");
l2 = new JLabel("Label2");
l3 = new JLabel("Label3");
l4 = new JLabel("Label4");
tf1 = new JTextField();
tf2 = new JTextField();
tf3 = new JTextField();
tf4 = new JTextField();
p3.add(l1);
p3.add(tf1);
p3.add(l2);
p3.add(tf2);
p3.add(l3);
p3.add(tf3);
p3.add(l4);
p3.add(tf4);
b1 = new JButton("Button1");
b2 = new JButton("Button2");
b3 = new JButton("Button3");
b4 = new JButton("Button4");
p4.add(b1);
p4.add(b2);
p4.add(b3);
p4.add(b4);
t = new JTable();
t.setModel(new javax.swing.table.DefaultTableModel(
new Object[][]{
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String[]{
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
sc = new JScrollPane(t);
p5.add(sc, BorderLayout.CENTER);
p2.add(p3, BorderLayout.NORTH);
p2.add(p4, BorderLayout.SOUTH);
p1.add(p2, BorderLayout.NORTH);
p1.add(p5, BorderLayout.CENTER);
add(p1);
pack();
}
public static void main(String[] args) {
new LayoutSample().setVisible(true);
}
private JPanel p1, p2, p3, p4, p5;
private JLabel l1, l2, l3, l4;
private JTextField tf1, tf2, tf3, tf4;
private JButton b1, b2, b3, b4;
private JScrollPane sc;
private JTable t;
}
你似乎也是StackOverflow的新手,但事情并非如此。你必须发布你迄今为止尝试过的内容,以便社区能够提出解决方案。否则,正如你现在可能已经发现的那样,你将收到许多喜欢触发的成员的负面评论。似乎你需要检查一下。天哪,这是很多方法链ing.你害怕分号还是什么的?:你能给我一些参考资料来做这件事吗?因为我在这件事上坚持了很长时间,所以请帮助我对照模型表格检查代码。你可能需要做一些学习来理解这些概念。查看sun oracle教程。
public class LayoutSample extends JFrame {
public LayoutSample() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p1 = new JPanel(new BorderLayout());
p2 = new JPanel(new BorderLayout());
p3 = new JPanel(new GridLayout(4, 2));
p4 = new JPanel(new FlowLayout());
p5 = new JPanel(new BorderLayout());
l1 = new JLabel("Label1");
l2 = new JLabel("Label2");
l3 = new JLabel("Label3");
l4 = new JLabel("Label4");
tf1 = new JTextField();
tf2 = new JTextField();
tf3 = new JTextField();
tf4 = new JTextField();
p3.add(l1);
p3.add(tf1);
p3.add(l2);
p3.add(tf2);
p3.add(l3);
p3.add(tf3);
p3.add(l4);
p3.add(tf4);
b1 = new JButton("Button1");
b2 = new JButton("Button2");
b3 = new JButton("Button3");
b4 = new JButton("Button4");
p4.add(b1);
p4.add(b2);
p4.add(b3);
p4.add(b4);
t = new JTable();
t.setModel(new javax.swing.table.DefaultTableModel(
new Object[][]{
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String[]{
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
sc = new JScrollPane(t);
p5.add(sc, BorderLayout.CENTER);
p2.add(p3, BorderLayout.NORTH);
p2.add(p4, BorderLayout.SOUTH);
p1.add(p2, BorderLayout.NORTH);
p1.add(p5, BorderLayout.CENTER);
add(p1);
pack();
}
public static void main(String[] args) {
new LayoutSample().setVisible(true);
}
private JPanel p1, p2, p3, p4, p5;
private JLabel l1, l2, l3, l4;
private JTextField tf1, tf2, tf3, tf4;
private JButton b1, b2, b3, b4;
private JScrollPane sc;
private JTable t;
}