JTextArea, который должен расти вместе с родительской панелью - PullRequest
3 голосов
/ 29 декабря 2011

Я хочу сделать мое поле JTextArea настолько большим, насколько это может быть в текущей JPanel.Как это сделать?

Теперь это так:

    JPanel statusBar = new StatusBar(project);
    JTextArea outputBox = new JTextArea(1, 50); 
    outputBox.setEditable(true);
    statusBar.add(outputBox);

Ответы [ 2 ]

5 голосов
/ 29 декабря 2011

Менеджер по умолчанию для JPanel - FlowLayout, который не позволяет текстовой области заполнить все доступное пространство на панели.

Использование BorderLayout должно работать хорошо:

statusBar.setLayout( new BorderLayout() );
JTextArea outputBox = new JTextArea(1, 50); 
outputBox.setEditable(true);
statusBar.add(outputBox, BorderLayout.CENTER);
4 голосов
/ 29 декабря 2011

Вам нужен менеджер раскладки на JPanel.Если это просто JTextArea, содержащаяся в нем, и вам нужно увеличить его, вы можете использовать простой GridLayout:

   statusBar.setLayout(new GridLayout(1,1));
...