2013-10-02 1 views
0

Я все еще неопытен с созданием графических интерфейсов Java, и у меня возникают проблемы с JTextArea. Я хотел бы исправить ее высоту (количество столбцов), но она всегда заполняет свободное пространство. Я читал в Интернете, что вы должны поместить его в JScrollPane, который я сделал, но то же самое происходит.Исправлена ​​высота JTextArea

Это пример кода:

public class TestWindow extends JFrame { 

    public TestWindow() { 
     super(); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setSize(300, 200); 
     setLocationRelativeTo(null); 

     add(new JScrollPane(new JTextArea(5, 10))); 

     setVisible(true); 
    } 

} 

С помощью этого кода, то JTextArea заполняет все окно. В любом случае я могу исправить его до определенного количества строк и столбцов? Может ли это иметь какое-то отношение к менеджеру макетов?

+1

Разве вы не имеете в виду количество «строк», чтобы исправить его высоту? Количество «столбцов» влияет только на его ширину. – splungebob

ответ

1

Да, расположение по умолчанию BorderLayout, который расширяет все содержимое, чтобы соответствовать всей области, вы должны установить новый макет, я рекомендую GridBagLayout обширного контроль размеров, или которые я больше всего использовать, BoxLayout

+0

Спасибо. Я использую GroupLayout для моей реальной программы. Имеет ли он такой же эффект, как BorderLayout? Должен ли я перейти на другой макет? –

2

Вы можете добавить компонент в BorderLayout.PAGE_START месте, которое уважает высоту предпочтительных размеров

add(new JScrollPane(new JTextArea(5, 10)), BorderLayout.PAGE_START); 
+0

не упакован (:-) ......................... – mKorbel

+0

@mKorbel Да, вам, вероятно, понадобится что-то в месте CENTER - если предположить, что это незавершенный пользовательский интерфейс – Reimeus

0

в этом случае (без другого LayoutManager), говоря число столбцов не будет контролировать высоту компоненты. Вам нужно будет вручную установить его размер, используя setSize().

+0

* «указание количества столбцов не будет контролировать высоту компонента» * Оно будет добавлено с ограничением 'PAGE_START' или' PAGE_END'. –

Смежные вопросы