Java网格包布局,组件垂直间距怎么调
这是添加组件的方法:privatevoidAddComponent(JFrameframe,GridBagLayoutLayout,GridBagConstraintsg...
这是添加组件的方法:
private void AddComponent(JFrame frame,GridBagLayout Layout,GridBagConstraints gbc,Component com,int row,int column,int numRows,int numColumns,int Weightx,int Weighty){ gbc.gridx=row; gbc.gridy=column; gbc.gridwidth=numRows; gbc.gridheight=numColumns; gbc.weightx=Weightx; gbc.weightx=Weighty; Layout.setConstraints(com, gbc); frame.add(com); } 添加组件的部分代码:
constraints.fill=GridBagConstraints.HORIZONTAL; constraints.anchor=GridBagConstraints.CENTER;
AddComponent(LogoFrame,Layout,constraints,tfName,1,1,1,1,0,0);
AddComponent(LogoFrame,Layout,constraints,tfPwd,1,2,1,1,0,0);
constraints.fill=GridBagConstraints.NONE;
AddComponent(LogoFrame,Layout,constraints,lbTitle,0,0,2,1,0,0);
AddComponent(LogoFrame,Layout,constraints,lbName,0,1,1,1,0,0);
AddComponent(LogoFrame,Layout,constraints,lbPwd,0,2,1,1,0,0);
AddComponent(LogoFrame,Layout,constraints,btnLogo,0,3,1,1,0,50);
AddComponent(LogoFrame,Layout,constraints,btnOut,1,3,1,1,0,100);
组件都挤在以前,怎么做到有间距 展开
private void AddComponent(JFrame frame,GridBagLayout Layout,GridBagConstraints gbc,Component com,int row,int column,int numRows,int numColumns,int Weightx,int Weighty){ gbc.gridx=row; gbc.gridy=column; gbc.gridwidth=numRows; gbc.gridheight=numColumns; gbc.weightx=Weightx; gbc.weightx=Weighty; Layout.setConstraints(com, gbc); frame.add(com); } 添加组件的部分代码:
constraints.fill=GridBagConstraints.HORIZONTAL; constraints.anchor=GridBagConstraints.CENTER;
AddComponent(LogoFrame,Layout,constraints,tfName,1,1,1,1,0,0);
AddComponent(LogoFrame,Layout,constraints,tfPwd,1,2,1,1,0,0);
constraints.fill=GridBagConstraints.NONE;
AddComponent(LogoFrame,Layout,constraints,lbTitle,0,0,2,1,0,0);
AddComponent(LogoFrame,Layout,constraints,lbName,0,1,1,1,0,0);
AddComponent(LogoFrame,Layout,constraints,lbPwd,0,2,1,1,0,0);
AddComponent(LogoFrame,Layout,constraints,btnLogo,0,3,1,1,0,50);
AddComponent(LogoFrame,Layout,constraints,btnOut,1,3,1,1,0,100);
组件都挤在以前,怎么做到有间距 展开
3个回答
展开全部
GridBagLayout里的各种设置都必须通过GridBagConstraints,因此当我们将GridBagConstraints的参数都设置
好了之后,必须new一个GridBagConstraints的对象出来,以便GridBagLayout使用。
参数说明:
gridx,gridy:设置组件的位置,gridx设置为GridBagConstraints.RELATIVE代表此组件位于之前所加入组件的右边。
若将gridy设置为GridBagConstraints.RELATIVE代表此组件位于以前所加入组件的下面。建议定义出gridx,gridy的
位置,以便以后维护程序。表示放在几行几列,gridx=0,gridy=0时放在0行0列。
gridwidth,gridheight:用来设置组件所占的单位长度与高度,默认值皆为1。你可以使用GridBagConstraints.REMAINDER常量,代表此组件为此行或此列的最后一个组件,而且会占据所有剩余的空间。
weightx,weighty:用来设置窗口变大时,各组件跟着变大的比例,当数字越大,表示组件能得到更多的空间,默认值皆为0。
anchor:当组件空间大于组件本身时,要将组件置于何处,有CENTER(默认值)、NORTH、NORTHEAST、EAST、SOUTHEAST、 WEST、NORTHWEST可供选择。
insets:设置组件之间彼此的间距,它有四个参数,分别是上,左,下,右,默认为(0,0,0,0).
ipadx,ipady:设置组件内的间距,默认值为0。
好了之后,必须new一个GridBagConstraints的对象出来,以便GridBagLayout使用。
参数说明:
gridx,gridy:设置组件的位置,gridx设置为GridBagConstraints.RELATIVE代表此组件位于之前所加入组件的右边。
若将gridy设置为GridBagConstraints.RELATIVE代表此组件位于以前所加入组件的下面。建议定义出gridx,gridy的
位置,以便以后维护程序。表示放在几行几列,gridx=0,gridy=0时放在0行0列。
gridwidth,gridheight:用来设置组件所占的单位长度与高度,默认值皆为1。你可以使用GridBagConstraints.REMAINDER常量,代表此组件为此行或此列的最后一个组件,而且会占据所有剩余的空间。
weightx,weighty:用来设置窗口变大时,各组件跟着变大的比例,当数字越大,表示组件能得到更多的空间,默认值皆为0。
anchor:当组件空间大于组件本身时,要将组件置于何处,有CENTER(默认值)、NORTH、NORTHEAST、EAST、SOUTHEAST、 WEST、NORTHWEST可供选择。
insets:设置组件之间彼此的间距,它有四个参数,分别是上,左,下,右,默认为(0,0,0,0).
ipadx,ipady:设置组件内的间距,默认值为0。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询