2015-11-04 132 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

順便說一句,你發佈的代碼並沒有真正實現你發佈的圖片......; ) –

+0

是的,但我的窗口大小問題只需要這些代碼片段,對吧? –

回答

0

使用一些其他佈局,尊重組件大小。比你可以使用setMaximumSize,setMinimumSize,setPerferredSize和setSize。我建議你使用像BoxLayout或GridBagLayout。 一個有用的鏈接:A visual guild to layouts