不复杂
就四个组件,两个JLABEL,两个JTEXTFIELD,一个JPANEL(里面是一个JTABLE)                  jl1L.weightx = 10;
jl1L.weighty = 10;
jl1L.gridx = GridBagConstraints.RELATIVE;
jl1L.gridy = GridBagConstraints.RELATIVE;
jl1L.gridwidth = 1;
jl1L.gridheight = 1;
jl1L.fill = GridBagConstraints.NONE;
jl1L.anchor = GridBagConstraints.CENTER;                  GridBagConstraints jtL = new GridBagConstraints();
jtL.weightx = 10;
jtL.weighty = 10;
jtL.gridx = GridBagConstraints.RELATIVE;
jtL.gridy = GridBagConstraints.RELATIVE;
jtL.gridwidth = 1;
jtL.gridheight = 1;
jtL.fill = GridBagConstraints.NONE;
jtL.anchor = GridBagConstraints.CENTER;                  GridBagConstraints jlL = new GridBagConstraints();
jlL.weightx = 10;
jlL.weighty = 10;
jlL.gridx = GridBagConstraints.RELATIVE;
jlL.gridy = GridBagConstraints.RELATIVE;
jlL.gridwidth = 1;
jlL.gridheight = 1;
jlL.fill = GridBagConstraints.NONE;
jlL.anchor = GridBagConstraints.CENTER;                  GridBagConstraints jcL = new GridBagConstraints();
jcL.weightx = 10;
jcL.weighty = 10;
jcL.gridx = GridBagConstraints.RELATIVE;
jcL.gridy = GridBagConstraints.RELATIVE;
jcL.gridwidth = GridBagConstraints.REMAINDER;
jcL.gridheight = 1;
jcL.fill = GridBagConstraints.NONE;
jcL.anchor = GridBagConstraints.CENTER;                   GridBagConstraints jpanelL = new GridBagConstraints();
jpanelL.weightx = 10;
jpanelL.weighty = 10;
jpanelL.gridx = GridBagConstraints.RELATIVE;
jpanelL.gridy = GridBagConstraints.RELATIVE;
jpanelL.gridwidth = GridBagConstraints.REMAINDER;
jpanelL.gridheight = 10;
jpanelL.fill = GridBagConstraints.NONE;
jpanelL.anchor = GridBagConstraints.CENTER;一共11行四列

解决方案 »

  1.   

    图形我很少做,不过我想既然组件不多,可以用其他布局组合
    这样的显示效果应该比用GridBagLayout好些
      

  2.   

    其实你碰到这个问题只是你对GridBagLayout不熟导致的.
    如果你要掌握GridBagLayout的话,最好用JBuilder好好研究,非常方便,我就是这样完全掌握
    的GridBagLayout,我做的报表设计器界面及其复杂,十几个JPanel是常有的,没有遇到超出预料,不可掌控之事.
      

  3.   

    GridBagLayout,这个我不熟悉,但是听说很是麻烦.而且没有其它布局管理器简易.
    但是,它的确很灵活!
      

  4.   

    我买不起Jbuilder,只能用JCREATE,有没有高手能帮我看看我上面的代码,问题在那里
      

  5.   

    //不用布局
    JPanel panel = new JPanel(null);
    //设置JPanel长宽 
    panel.setPreferredSize(new Dimension(400, 100));
    JLabel label = new JLabel();
    //设置x,y,Width,Height
    label.setBounds(20, 5, 100, 30);
    //设置其它控件
    --------------------------------
      

  6.   

    同意楼上的,不过可以结合使用
                      type = true;
    id = mid;
    num = new JLabel("aaaa" + String.valueOf(i));
    title = new JLabel(mytitle);
    back = new JPanel();
    NumofChoices = n;
    choices = new JCheckBox[NumofChoices];

    back.setLayout(new GridBagLayout());
    GridBagConstraints bag=new GridBagConstraints();
    bag.anchor = GridBagConstraints.EAST;
    bag.fill = GridBagConstraints.HORIZONTAL;
    bag.gridwidth=2;
    bag.weightx=1;
    bag.weighty=0;

    bag.gridx=0; back.setBackground(dyel);
    back.add(num,bag);


    bag.gridx=0;
    bag.insets=new Insets(0,15,0,0);
    back.add(title,bag);