Центрирование JCheckBox в JPanel - PullRequest
1 голос
/ 21 января 2011

Мне нужно добавить метку в СЕВЕР, 3 флажка в ЦЕНТРЕ и 3 кнопки на ЮГЕ.

Итак, я создал 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 CheckBox в центре ЦЕНТРА ПРИЯПОВОЙ ЯПОНИИ?

Ответы [ 2 ]

1 голос
/ 21 января 2011

Если вы хотите, чтобы они были сгруппированы вместе, пусть Inside_P JPanel сохраняет свой менеджер по умолчанию FlowLayout. Если вы добавите их, они будут выровнены по центру. Они будут отцентрированы, однако они находятся на вершине Inside_P JPanel.

Перед тем, как добавить JCheckboxe в контейнер Inside_P,

Попробуйте добавить пробел Box:

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

Если пользователь решит изменить размер окна, флажки не будут оставаться в центре по вертикали.

0 голосов
/ 21 января 2011

Сделайте то же самое - заставьте вашу Основную JPanel использовать BorderLayout и установите третий флажок в центре.

...