我需要在NORTH中添加一个标签,在CENTER中添加3个CheckBox,在南方添加3个按钮。
所以我创建了2个JPanels(Principal和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 CheckBox置于市政中心的CENTER中间?
答案 0 :(得分:1)
如果您希望将它们组合在一起,请让Inside_P JPanel保留它的默认FlowLayout管理器。如果添加它们,它们将在中心对齐。它们将居中,但它们位于Inside_P JPanel的顶部。
在将JCheckboxe添加到Inside_P容器之前
尝试添加Box spacer:
Inside_P.add( Box.createVerticalGlue() );
Inside_P.add( Box.createVerticalStrut( 160 ) );
Inside_P.add(in);
Inside_P.add(dou);
Inside_P.add(flo);
如果用户决定调整窗口大小,则复选框不会垂直停留在中心。
答案 1 :(得分:0)
执行相同的操作 - 让您的Principal JPanel使用BorderLayout,并将第三个复选框放在中心。