不复杂
就四个组件,两个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行四列
就四个组件,两个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行四列
这样的显示效果应该比用GridBagLayout好些
如果你要掌握GridBagLayout的话,最好用JBuilder好好研究,非常方便,我就是这样完全掌握
的GridBagLayout,我做的报表设计器界面及其复杂,十几个JPanel是常有的,没有遇到超出预料,不可掌控之事.
但是,它的确很灵活!
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);
//设置其它控件
--------------------------------
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);