2015-11-04 3 views
0

Я сейчас работаю над Java Swing, но, как вы можете видеть на картинке ниже, я не могу изменить размер (увеличить ширину) моего поля textarea. Он изменяется только в том случае, если я изменяю ширину внешнего jframe или увеличиваю окно. Пожалуйста, помогите. java swing examplejtextarea resize java swing

JFrame jframe = new JFrame("Java Tryout"); 
    jframe.setSize(500, 400); 
    jframe.setLayout(new GridLayout()); 
    jframe.addWindowListener(new WindowAdapter() { 
     public void windowClosing(WindowEvent windowEvent) { 
      System.exit(0); 
     } 
    }); 
    JLabel headerLabel = new JLabel("", JLabel.LEFT); 
    JLabel statusLabel = new JLabel("", JLabel.LEFT); 

    statusLabel.setSize(350, 100); 

    JPanel controlPanel = new JPanel(); 
    controlPanel.setLayout(new FlowLayout()); 

    jframe.add(headerLabel); 
    jframe.add(controlPanel); 
    jframe.add(statusLabel); 
    jframe.setVisible(true); 

Это мой код. Я что-то делаю неправильно?

+2

Да, для содержимого заполняются различные макеты, чтобы заполнить рамку при ее изменении размера ... взгляните на https://docs.oracle.com/javase/tutorial/uiswing/layout /visual.html. Я имею тенденцию использовать старый GridBagLayout с большим количеством параметров для того, как контент должен охватывать и заполнять ..., может быть, самый сложный, но тот, который вы получаете, как он работает ... он делает то, что вам нравится ... –

+0

btw, код, который вы опубликовали, на самом деле не делает изображение, которое вы разместили ...;) –

+0

Да, но моя проблема с размером окна требует только этих фрагментов кода, не так ли? –

ответ

0

Используйте другой макет, который соответствует размерам компонентов. Чем вы можете использовать setMaximumSize, setMinimumSize, setPerferredSize и setSize. Я предлагаю вам использовать что-то вроде BoxLayout или GridBagLayout. Полезная ссылка: A visual guild to layouts

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