当前位置: 技术问答>java相关
这种布局怎样实现?
来源: 互联网 发布时间:2015-09-26
本文导语: panel1在frame的左边,占frame总宽度的30%,panel2在frame的右边,占frame总宽度的70%,它们的高度与frame相同. 另外,panel2里又包括上下两个panel,各占高度的一半. 没办法,眼高手低,本来以为挺简单,没想到,怎么也做不出来. 请高手出...
panel1在frame的左边,占frame总宽度的30%,panel2在frame的右边,占frame总宽度的70%,它们的高度与frame相同.
另外,panel2里又包括上下两个panel,各占高度的一半.
没办法,眼高手低,本来以为挺简单,没想到,怎么也做不出来.
请高手出手相救!!
另外,panel2里又包括上下两个panel,各占高度的一半.
没办法,眼高手低,本来以为挺简单,没想到,怎么也做不出来.
请高手出手相救!!
|
{
……
GridBagConstraints gbc = new GridBagConstraints();
//在x方向上收缩并充满整个区域
gbc.fill = GridBagConstraints.HORIZONTAL;
//设置单元格边界的“外部”填充空白区域
gbc.insets = new Insets(5,10,5,10);
//设置单元格边界的“内部”填充空白区域
gbc.ipadx = 3;
gbc.ipady = 3;
//不在x、y方向上扩张或收缩而超出他的初试大小
gbc.weightx = 0;
gbc.weighty = 0;
add(lblOldPassword,gbc,0,0,1,1);
add(lblNewPassword,gbc,0,1,1,1);
add(lblConPassword,gbc,0,2,1,1);
//在x方向上扩张或收缩,而在y方向上保持他的初试大小
gbc.weightx = 100;
gbc.weighty = 0;
add(txtOldPassword,gbc,1,0,1,1);
add(txtNewPassword,gbc,1,1,1,1);
add(txtConPassword,gbc,1,2,1,1);
gbc.fill = GridBagConstraints.NONE;
//指定组件在一个单元格内靠在它的什么部位
gbc.anchor = GridBagConstraints.CENTER;
gbc.weightx = 0;
gbc.weighty = 0;
add(btnOk,gbc,0,3,1,1);
add(btnCancel,gbc,1,3,1,1);
……
}
private void add(JComponent c, GridBagConstraints gbc, int x, int y, int w, int h)
{
//指定单元格的起始列、起始行和跨越的列数、跨越的行数
gbc.gridx = x;
gbc.gridy = y;
gbc.gridwidth = w;
gbc.gridheight = h;
getContentPane().add(c,gbc);
}
……
GridBagConstraints gbc = new GridBagConstraints();
//在x方向上收缩并充满整个区域
gbc.fill = GridBagConstraints.HORIZONTAL;
//设置单元格边界的“外部”填充空白区域
gbc.insets = new Insets(5,10,5,10);
//设置单元格边界的“内部”填充空白区域
gbc.ipadx = 3;
gbc.ipady = 3;
//不在x、y方向上扩张或收缩而超出他的初试大小
gbc.weightx = 0;
gbc.weighty = 0;
add(lblOldPassword,gbc,0,0,1,1);
add(lblNewPassword,gbc,0,1,1,1);
add(lblConPassword,gbc,0,2,1,1);
//在x方向上扩张或收缩,而在y方向上保持他的初试大小
gbc.weightx = 100;
gbc.weighty = 0;
add(txtOldPassword,gbc,1,0,1,1);
add(txtNewPassword,gbc,1,1,1,1);
add(txtConPassword,gbc,1,2,1,1);
gbc.fill = GridBagConstraints.NONE;
//指定组件在一个单元格内靠在它的什么部位
gbc.anchor = GridBagConstraints.CENTER;
gbc.weightx = 0;
gbc.weighty = 0;
add(btnOk,gbc,0,3,1,1);
add(btnCancel,gbc,1,3,1,1);
……
}
private void add(JComponent c, GridBagConstraints gbc, int x, int y, int w, int h)
{
//指定单元格的起始列、起始行和跨越的列数、跨越的行数
gbc.gridx = x;
gbc.gridy = y;
gbc.gridwidth = w;
gbc.gridheight = h;
getContentPane().add(c,gbc);
}