увеличить размер строки в GridLayout
выше кадр содержит GridLayout с двумя рядами. Первая строка - это текстовая область, вторая - панель с двумя флажками. Я хочу увеличить высоту первого ряда, так что первая строка должна составлять 75% от общей высоты, а вторая строка должна быть 25%. Как я могу это сделать? Вот мой фрагмент кода:
setLayout(new GridLayout(2, 0, 0, 0));
Panel text_panel = new Panel();
add(text_panel);
text_panel.setLayout(new GridLayout(1, 0, 0, 0));
JTextArea textArea = new JTextArea();
textArea.setText("text to be displayed");
JScrollPane scroll = new JScrollPane (textArea);
text_panel.add(scroll);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
textArea.setEditable(false);
Border border = BorderFactory.createLineBorder(Color.GRAY);
textArea.setBorder(border);
textArea.setFont(new Font("Arial",Font.PLAIN,12));
textArea.setCaretPosition(0);
textArea.requestFocus();
Panel checebox_panel = new Panel();
checebox_panel.setBackground(Color.WHITE);
add(checebox_panel);
checebox_panel.setLayout(new GridLayout(1, 0, 0, 0));
androidCheckBox = new JCheckBox("Open start page");
androidCheckBox.setBackground(Color.WHITE);
androidCheckBox.addItemListener(itemListener);
androidCheckBox.setSelected(true);
checebox_panel.add(androidCheckBox);
eclipseCheckBox = new JCheckBox("register for updates");
eclipseCheckBox.setBackground(Color.WHITE);
eclipseCheckBox.addItemListener(itemListener);
eclipseCheckBox.setSelected(true);
checebox_panel.add(eclipseCheckBox);
Я бы порекомендовал вам использовать 'BorderLayout' для этого сценария, поместив textArea в CENTER, а остальное в SOUTH. но f вы действительно хотите иметь 75%/25%, вместо этого вы должны использовать 'GridBagLayout'. просто найдите учебники онлайн или используйте внутренний JavaDocs. – hoijui
Почему 75%/25%? Это просто случайные числа. Я также согласен, что вы должны просто использовать BorderLayout. Флажки с фиксированным размером и текстовой областью будут автоматически изменяться по мере изменения размера рамки. – camickr