GridBag Layout里的GridBagConstraint的weightx,weighty的取值问题? 1.weightx,weighty表示控件使用剩余空间得 相对分额。只要相对分额不变,你就看不出变化 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果一行中放了2个控件,第一个控件weightx=1;2nd control weightx=1;那么1st control占1/(1+1)的剩余空间(x方向)第一个控件weightx=2;2nd control weightx=1;那么1st control占2/(2+1)的剩余空间(x方向) 哦,基本明白了。还有个问题,书上说用两个double 数组 rowWeights 和 columnWeights可以很方便得替代weigthx,weighty来完成这个功能,但是又没有提供例子,能不能详细说说这两个数组啊?最好举个简单的例子看看 to masterz():你说:1.weightx,weighty表示控件使用剩余空间得 相对分额。只要相对分额不变,你就看不出变化 但是你看看我下面这个程序,随我怎么改相对份额,仍然看不出变化来,是怎么回事啊?import java.awt.*;public class TGBL extends Panel{ public static void main(String[] args) { Frame f=new Frame("GridBag Layout Example"); TGBL tgbl=new TGBL(); f.add(tgbl,"Center"); f.pack(); f.setVisible(true); } Panel tmp; GridBagLayout gbl=new GridBagLayout(); GridBagConstraints gbc=new GridBagConstraints(); public TGBL() { setLayout(gbl); gbc.gridy=0; gbc.gridx=0; gbc.weightx=10; add(new Button("TopLeft"),gbc); gbc.gridy=0; gbc.gridx=2; gbc.weightx=90; add(new Button("TopRight"),gbc); gbc.gridy=1; gbc.gridx=1; tmp=new Panel(); tmp.setLayout(new GridLayout(2,1)); tmp.add(new Button("CenterTop")); tmp.add(new Button("CenterBottom")); add(tmp,gbc); gbc.gridy=2; gbc.gridx=0; tmp=new Panel(); tmp.setLayout(new GridLayout(3,1)); tmp.add(new Button("BottomLeftTop")); tmp.add(new Button("BottomLeftCenter")); tmp.add(new Button("BottomLeftBottom")); add(tmp,gbc); gbc.gridy=2; gbc.gridx=2; tmp=new Panel(); tmp.setLayout(new GridLayout(3,1)); tmp.add(new Button("BottomRightTop")); tmp.add(new Button("BottomRightCenter")); tmp.add(new Button("BottomRightBottom")); add(tmp,gbc); }} f.pack();//没有剩余空间了,weightx就没有意义了 去掉f.pack()仍然不行,不信你试试看啊 weightx,weighty的有效值在0.0-1.0之间.实际上它是对单元格起作用的.不是对组件起作用的.看不出效果,你需要加这么一句话 c.fill = c.HORIZONTAL; 菜鸟 求教!! 分享一个文件编辑器 关于执行java的批处理 请教各位高手!! jad的反编译的用法? 看看这几个题怎么答,谢了!!!!!!!!!!! JTable设置TableCellRenderer后默认显示样式全成了JLabel,本来里面有boolean类型的显示的是JCheckBox的~ 我是一名初学者 出于对编程的爱好 才决定走程序员这条路 怎样把一个输入流保存为文件?请高手赐教 大家看看我这个程序,在jTable控件里怎么显示不出图片呢? weblogic6.1的crack,高分求教! 关于数据源的问题
第一个控件weightx=2;2nd control weightx=1;那么1st control占2/(2+1)的剩余空间(x方向)
你说:1.weightx,weighty表示控件使用剩余空间得 相对分额。只要相对分额不变,你就看不出变化
但是你看看我下面这个程序,随我怎么改相对份额,仍然看不出变化来,是怎么回事啊?
import java.awt.*;public class TGBL extends Panel
{
public static void main(String[] args)
{
Frame f=new Frame("GridBag Layout Example");
TGBL tgbl=new TGBL();
f.add(tgbl,"Center");
f.pack();
f.setVisible(true);
}
Panel tmp;
GridBagLayout gbl=new GridBagLayout();
GridBagConstraints gbc=new GridBagConstraints();
public TGBL()
{
setLayout(gbl);
gbc.gridy=0; gbc.gridx=0; gbc.weightx=10;
add(new Button("TopLeft"),gbc);
gbc.gridy=0; gbc.gridx=2; gbc.weightx=90;
add(new Button("TopRight"),gbc);
gbc.gridy=1; gbc.gridx=1;
tmp=new Panel();
tmp.setLayout(new GridLayout(2,1));
tmp.add(new Button("CenterTop"));
tmp.add(new Button("CenterBottom"));
add(tmp,gbc);
gbc.gridy=2; gbc.gridx=0;
tmp=new Panel();
tmp.setLayout(new GridLayout(3,1));
tmp.add(new Button("BottomLeftTop"));
tmp.add(new Button("BottomLeftCenter"));
tmp.add(new Button("BottomLeftBottom"));
add(tmp,gbc);
gbc.gridy=2; gbc.gridx=2;
tmp=new Panel();
tmp.setLayout(new GridLayout(3,1));
tmp.add(new Button("BottomRightTop"));
tmp.add(new Button("BottomRightCenter"));
tmp.add(new Button("BottomRightBottom"));
add(tmp,gbc);
}
}
实际上它是对单元格起作用的.
不是对组件起作用的.
看不出效果,你需要加这么一句话 c.fill = c.HORIZONTAL;