求助:Frame里的控件无法显示

X-MCR-X 2007-07-18 10:11:20
代码如下:
//GridBagLayoutExample
import javax.swing.*;
import java.awt.*;

public class GridBagLayoutExample extends JFrame{
private JLabel labGYID=new JLabel(" 雇员编号 ");
private JTextField txtGYID=new JTextField();
private JLabel labGYName=new JLabel(" 雇员姓名 ");
private JTextField txtGYName=new JTextField();
private JLabel labDept=new JLabel(" 所在部门 ");
private JTextField txtDept=new JTextField();
private JLabel labBirth=new JLabel(" 出生日期 ");
private JTextField txtBirth=new JTextField();
private JLabel labMemo=new JLabel(" 备 注 ");
private JTextField txtMemo=new JTextField();
JButton btnPre=new JButton("上一个");
JButton btnNext=new JButton("下一个");
JButton btnOK=new JButton("确定");
JButton btnCancel=new JButton("取消");

public GridBagLayoutExample(){
JPanel p=new JPanel();
p.setBorder(BorderFactory.createLoweredBevelBorder());
p.setLayout(new GridBagLayout());
LayoutUtil.add(p,GridBagConstraints.NONE,GridBagConstraints.CENTER,
0,0,0,0,1,1,labGYID);
LayoutUtil.add(p,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER,
1,0,1,0,1,1,txtGYID);
LayoutUtil.add(p,GridBagConstraints.NONE,GridBagConstraints.CENTER,
0,0,2,0,1,1,labGYName);
LayoutUtil.add(p,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER,
1,0,3,0,1,1,txtGYName);
LayoutUtil.add(p,GridBagConstraints.NONE,GridBagConstraints.CENTER,
0,0,0,1,1,1,labDept);
LayoutUtil.add(p,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER,
1,0,1,1,1,1,txtDept);
LayoutUtil.add(p,GridBagConstraints.NONE,GridBagConstraints.CENTER,
0,0,2,1,1,1,labBirth);
LayoutUtil.add(p,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER,
1,0,3,1,1,1,txtBirth);
LayoutUtil.add(p,GridBagConstraints.NONE,GridBagConstraints.CENTER,
0,0,0,2,1,1,labMemo);
LayoutUtil.add(p,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER,
1,0,1,2,2,1,txtMemo);
getContentPane().add(p,BorderLayout.CENTER);


JPanel ap=new JPanel();
ap.setLayout(new GridBagLayout());
LayoutUtil.add(ap,GridBagConstraints.NONE,GridBagConstraints.CENTER,
0,0,0,0,1,1,btnPre);
LayoutUtil.add(ap,GridBagConstraints.NONE,GridBagConstraints.CENTER,
0,0,1,0,1,1,btnNext);
LayoutUtil.add(ap,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER,
1,0,2,0,1,1,new JLabel());
LayoutUtil.add(ap,GridBagConstraints.NONE,GridBagConstraints.CENTER,
0,0,3,0,1,1,btnOK);
LayoutUtil.add(ap,GridBagConstraints.NONE,GridBagConstraints.CENTER,
0,0,4,0,1,1,btnCancel);
getContentPane().add(ap,BorderLayout.SOUTH);
}

public static void main(String args[]){
GridBagLayoutExample window=new GridBagLayoutExample();
window.setSize(350,200);
window.show();
}
}

//LayoutUtil
import javax.swing.*;
import java.awt.*;

public class LayoutUtil{
public static void add(Container container,int fill,int anchor,int weightx,
int weighty,int x,int y,int width,int height,
Component comp){
GridBagConstraints constraints=new GridBagConstraints();
constraints.fill=fill;
constraints.anchor=anchor;
constraints.weightx=weightx;
constraints.weighty=weightx;
constraints.gridx=x;
constraints.gridy=y;
constraints.gridwidth=width;
constraints.gridheight=height;
}
public static void add(Container container,int fill,int anchor,int weightx,
int weighty,int x,int y,int width,int height,
Component comp,Insets insets){
GridBagConstraints constraints=new GridBagConstraints();
constraints.insets=insets;
constraints.fill=fill;
constraints.anchor=anchor;
constraints.weightx=weightx;
constraints.weighty=weightx;
constraints.gridx=x;
constraints.gridy=y;
constraints.gridwidth=width;
constraints.gridheight=height;
container.add(comp,constraints);
}
}
为什么里面的控件无法显示?? 望解答.
...全文
254 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
boby 2007-07-19
  • 打赏
  • 举报
回复
你LayoutUtil里面第一个add里面掉了一句container.add(comp,constraints); 加上就行了

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧