2011-01-20 21 views
1

我需要在NORTH中添加一个标签,在CENTER中添加3个复选框,在SOUTH中添加3个按钮。在JPanel中居中一个JCheckBox

所以我创建了2个JPanels(校长和Inside_P)

private JPanel Principal, Inside_P; 
private JLabel Title; 
private JCheckBox in, dou, flo; 
private JButton End; 

Title= new JLabel("Conversion", JLabel.CENTER);  // Works (Center the Label in the middle of North) 
in = new JCheckBox("Integer", JCheckBox.CENTER);  // Can't work (I don't know) 
dou = new JCheckBox("Double"); 
flo = new JCheckBox("Float"); 


Principal= new JPanel(); 
Inside_P = new JPanel(); 

Principal.setLayout(new BorderLayout()); 
Inside_P.setLayout(new BorderLayout()); 

Principal.add(Titre, BorderLayout.NORTH); 
Principal.add(Inside, BorderLayout.CENTER); 

Inside_P.add(in, BorderLayout.WEST); 
Inside_P.add(dou, BorderLayout.CENTER); 
Inside_P.add(flo, BorderLayout.EAST); 

    Principal.add(End, BorderLayout.SOUTH); 

我需要她的是我怎么能居中3复选框在了校长JPanel的中心的中央?

+3

请为您的变量学习适当的Java命名约定。我读过的每本教科书或教程都会使用它们,所以不要自己编写。另外,你是什么意思的中心?您是否尝试将组件垂直或水平居中?请明确点。最后,发布一个证明问题的SSCCE(http://sscce.org),以便我们更好地理解问题。 – camickr 2011-01-20 21:30:59

回答

1

如果您希望将它们组合在一起,请让Inside_P JPanel保留它的默认FlowLayout管理器。如果添加它们,它们将在中心对齐。他们将被集中,但他们在Inside_P JPanel的顶部。

之前,你把你的JCheckboxe的到Inside_P容器,

尝试添加盒间隔:

Inside_P.add(Box.createVerticalGlue()); 
Inside_P.add(Box.createVerticalStrut(160)); 
Inside_P.add(in); 
Inside_P.add(dou); 
Inside_P.add(flo); 

如果用户决定调整窗口大小,复选框不会留在中心上下。

+0

非常感谢我的朋友。 – VisaMasterCard 2011-01-20 22:07:09

0

做同样的事情 - 让您的Principal JPanel使用BorderLayout,并将第三个复选框放在中间。