
java网格组布局问题
packageJavaSwing;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publiccl...
package JavaSwing;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Test612 extends JFrame{
private static final int WIDTH=500;
private static final int HEIGHT=400;
private static JLabel label[];
private static JTextField field[];
public JTabbedPane p=new JTabbedPane();
public static JPanel pane=new JPanel();
private static void jlabelJTextField(){
for(int i=0;i<5;i++){
label[i]=new JLabel();
field[i]=new JTextField(10);
pane.add(label[i]);
//pane.add(field[i]);
}
label[0].setText("姓名");
label[1].setText("性别");
label[0].setText("年龄");
label[1].setText("出生年月");
label[0].setText("家庭地址");
}
public Test612(){
super("面板综合测试窗口");
super.setContentPane(p);
super.setSize(WIDTH,HEIGHT);
super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p.addTab("pane", pane);
p.setEnabledAt(0,true);
p.setTitleAt(0, "基本信息");
jlabelJTextField();
GridBagLayout lay=new GridBagLayout();
pane.setLayout(lay);
GridBagConstraints constraints=new GridBagConstraints();
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.EAST;
constraints.weightx=3;
constraints.weighty=4;
add(label[0],constraints,0,0,1,1);
add(label[1],constraints,1,1,1,1);
add(label[2],constraints,2,2,1,1);
add(label[3],constraints,3,3,1,1);
add(label[4],constraints,4,4,1,1);
add(field[0],constraints,0,0,1,1);
add(field[1],constraints,0,0,1,1);
add(field[2],constraints,0,0,1,1);
add(field[3],constraints,0,0,1,1);
add(field[4],constraints,0,0,1,1);
super.setVisible(true);
}
public static void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){
//此方法用来添加控件到容器中
constraints.gridx=x;
constraints.gridy=y;
constraints.gridwidth=w;
constraints.gridheight=h;
}
public static void main(String args[]){
try
{
new Test612();
}catch(Exception e){
e.printStackTrace();
}
}
} 展开
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Test612 extends JFrame{
private static final int WIDTH=500;
private static final int HEIGHT=400;
private static JLabel label[];
private static JTextField field[];
public JTabbedPane p=new JTabbedPane();
public static JPanel pane=new JPanel();
private static void jlabelJTextField(){
for(int i=0;i<5;i++){
label[i]=new JLabel();
field[i]=new JTextField(10);
pane.add(label[i]);
//pane.add(field[i]);
}
label[0].setText("姓名");
label[1].setText("性别");
label[0].setText("年龄");
label[1].setText("出生年月");
label[0].setText("家庭地址");
}
public Test612(){
super("面板综合测试窗口");
super.setContentPane(p);
super.setSize(WIDTH,HEIGHT);
super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p.addTab("pane", pane);
p.setEnabledAt(0,true);
p.setTitleAt(0, "基本信息");
jlabelJTextField();
GridBagLayout lay=new GridBagLayout();
pane.setLayout(lay);
GridBagConstraints constraints=new GridBagConstraints();
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.EAST;
constraints.weightx=3;
constraints.weighty=4;
add(label[0],constraints,0,0,1,1);
add(label[1],constraints,1,1,1,1);
add(label[2],constraints,2,2,1,1);
add(label[3],constraints,3,3,1,1);
add(label[4],constraints,4,4,1,1);
add(field[0],constraints,0,0,1,1);
add(field[1],constraints,0,0,1,1);
add(field[2],constraints,0,0,1,1);
add(field[3],constraints,0,0,1,1);
add(field[4],constraints,0,0,1,1);
super.setVisible(true);
}
public static void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){
//此方法用来添加控件到容器中
constraints.gridx=x;
constraints.gridy=y;
constraints.gridwidth=w;
constraints.gridheight=h;
}
public static void main(String args[]){
try
{
new Test612();
}catch(Exception e){
e.printStackTrace();
}
}
} 展开
展开全部
private static JLabel label[]; //只定义,未初始化
for(int i=0;i<5;i++){
label[i]=new JLabel();
field[i]=new JTextField(10);
pane.add(label[i]);
//pane.add(field[i]);
}
未初始化就是用,报空指针。
建议定义时初始化
private static JLabel label[] = {new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()};
private static JTextField field[] = {new JTextField(),new JTextField(),new JTextField(),new JTextField(),new JTextField()};
不知能否帮到你。
for(int i=0;i<5;i++){
label[i]=new JLabel();
field[i]=new JTextField(10);
pane.add(label[i]);
//pane.add(field[i]);
}
未初始化就是用,报空指针。
建议定义时初始化
private static JLabel label[] = {new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()};
private static JTextField field[] = {new JTextField(),new JTextField(),new JTextField(),new JTextField(),new JTextField()};
不知能否帮到你。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |