求java swing。。。。

一个窗体,多个标签,多个文本输入框,(标签个数=文本框个数)
需要实现的是:一个标签对应一个输入框,排多行。
拽动窗体改变之大小,文本框的大小也随之改变。

如果成功再加 80分!!
再加个确定按钮在最下面。。。。。。。。。。。。。。。。。。

第1个回答  2010-07-03
import java.awt.*;

public class L {
public static void main(String[] args) {
new W();
}
}

class W extends Frame {
GridLayout g;// 采用此类布局就能包只能够每个组件固定大小,且不因放大而改变
Label[] l = new Label[3];
TextField[] t = new TextField[3];
Button b;

W() {
g = new GridLayout(4, 2, 3, 3);// 布局保证放大后图框中的组件也放大
setLayout(g);
b = new Button("确定");
for (int i = 0; i < 3; i++) {
l[i] = new Label(i + "");
l[i].setBackground(Color.cyan);
t[i] = new TextField();
}
add(l[0]);
add(t[0]);
add(l[1]);
add(t[1]);
add(l[2]);
add(t[2]);
add(b);//如果想把按钮变到右边,不妨再添加一个空label在现在b的位置
setBounds(10, 10, 200, 200);
setVisible(true);
validate();
}
}

有什么问题,直接hi我就行,我在线
第2个回答  2010-07-03
import java.awt.*;
import javax.swing.*;

public class TestSwing extends JFrame{

private JPanel p1 = new JPanel();

private JLabel lb1 = new JLabel("标签1");
private JLabel lb2 = new JLabel("标签2");
private JLabel lb3 = new JLabel("标签3");
private JLabel lb4 = new JLabel("标签4");
private JLabel lb5 = new JLabel("标签5");

private JTextField tf1 = new JTextField();
private JTextField tf2 = new JTextField();
private JTextField tf3 = new JTextField();
private JTextField tf4 = new JTextField();
private JTextField tf5 = new JTextField();

private JButton btn = new JButton("确定");

public TestSwing() {
this.setBounds(400,400,400,400);
add(p1, BorderLayout.CENTER);
add(btn, BorderLayout.SOUTH);
p1.setLayout(new GridLayout(5,2));
p1.add(lb1);
p1.add(tf1);
p1.add(lb2);
p1.add(tf2);
p1.add(lb3);
p1.add(tf3);
p1.add(lb4);
p1.add(tf4);
p1.add(lb5);
p1.add(tf5);

this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args) {
new TestSwing();
}
}

有什么要改的开口就是。。
第3个回答  2010-07-03
import javax.swing.*;
import java.awt.*;
@SuppressWarnings("serial")
public class Demo extends JFrame {

public Demo() {
setLayout(new GridBagLayout());
GridBagConstraints con = new GridBagConstraints();
con.insets = new Insets(5,5,5,5);

con.gridx = 0;
con.gridy = 0;
add(new JLabel("Nagisa:"), con);

con.gridy++;
add(new JLabel("Tomoya:"), con);

con.fill = GridBagConstraints.BOTH;
con.anchor = GridBagConstraints.NORTH;
con.weightx = 1.0;

con.gridx = 1;
con.gridy = 0;
add(new JTextField(15), con);

con.gridy++;
add(new JTextField(15), con);

con.gridx = 0;
con.gridy++;
con.gridwidth = 2;
con.weighty = 1.0;
add(Box.createVerticalGlue(), con);

JPanel p = new JPanel();
con.gridy++;
con.weighty = 0;
p.add(new JButton("Confirm"));
p.add(new JButton("Cancel"));
add(p, con);

pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}

public static void main(String[] args) {
new Demo();
}
}本回答被提问者采纳