JTextArea, setPreferredSize, setSize, setMinimumSize, setMaximumSize — ничего не работает?

У меня есть JTextArea, и в настоящее время он просто отображается как тонкая линия, я не могу изменить его размер, он ничего не сделает. Он слишком мал и не будет меняться независимо от того, какие свойства я изменяю. Кто-нибудь может предложить решение?

private JTextArea outputT;

Я настраиваю свойства:

    outputT = new JTextArea(5, 20);
    outputT.setMargin(new Insets(5, 5, 5, 5));
    outputT.setEditable(false);
    outputT.setPreferredSize(new Dimension(550, 50));

person John Smith    schedule 02.09.2013    source источник
comment
Чтобы быстрее получить помощь, опубликуйте SSCCE.   -  person Andrew Thompson    schedule 02.09.2013
comment
чтение (и понимание) приличного руководства/учебника всегда на порядок эффективнее, чем случайный вызов метода ;-) См. руководство, на которое есть ссылка в вики по тегу Swing.   -  person kleopatra    schedule 02.09.2013
comment
Один связанный пример. Надеюсь, поможет :-)   -  person nIcE cOw    schedule 02.09.2013


Ответы (1)


У меня есть JTextArea, и в настоящее время он отображается как тонкая линия,

требуется для

  • поместите JTextArea в JScrollPane

  • установить начальный размер для JTextArea(int, int) принимается LayoutManager (и JFrame.pack())

  • используйте правильный LayoutManager в случае, если вы хотите установить Min/ Max/PreferredSize для (JTextArea помещено в) JScrollPane

person mKorbel    schedule 02.09.2013
comment
Однако дело в том, что когда фрейм графического интерфейса достаточно велик, размер JTextArea изменяется так, чтобы он был достаточно большим. Если у меня есть рамка с изменяемым размером, я могу изменить размер рамки. Но когда я изменяю его размер, чтобы он был достаточно большим, это похоже на то, что под JTextArea есть поле, мешающее ему расширяться. Но поле похоже на заданный размер, и как только рамка становится достаточно большой, поле перемещается вниз, давая пространство JTextArea для расширения. Я не уверен, почему это происходит. - person John Smith; 02.09.2013
comment
есть четыре, пять возможных способов, просто для того, чтобы не гадать. Чтобы быстрее получить помощь, опубликуйте SSCCE. короткий, работоспособный, компилируемый... - person mKorbel; 02.09.2013
comment
Я был бы рад опубликовать код, но он не сможет скомпилироваться. Я бы дал весь исходный код проекта, я использую все в разных битах. JTextArea работает, но не работает только видимость и размер. Если у вас есть какие-либо предположения, я буду рад их изучить. - person John Smith; 02.09.2013
comment
Если у вас есть какие-либо предположения, я буду рад изучить их. Я думаю, вам нужно опубликовать SSCCE (как я предложил более часа назад).. - person Andrew Thompson; 02.09.2013
comment
pastebin.com/xPGZSkve – тестовый код для загрузки. - person John Smith; 02.09.2013
comment
@JohnSmith: я добавил эту строку centerPanel.add(this); в качестве третьей строки метода createAndDisplayGUI() и прокомментировал четвертую последнюю и третью последнюю строки этого самого метода. Теперь внутри метода main я вызываю этот метод как new ProgressBarDemo().createAndDisplayGUI(), теперь я вижу JTextArea. Да, я также прокомментировал все вызовы setXxXSize() в конструкторе :-) Ссылка - person nIcE cOw; 02.09.2013