0

以下代码方便地创建了一个框布局,但我遇到的问题是文本字段占据了整行。这应该假定它被指定的参数长度。

 public void makeControlpanel(){
    JPanel controlpanel = new JPanel();
     //SET PANEL LAYOUT MANAGERS
    controlpanel.setLayout(new BoxLayout(controlpanel,BoxLayout.PAGE_AXIS));

    controlpanel.setBorder(BorderFactory.createTitledBorder("Create Control file")); 


    filenameC   = new JLabel("Filename");
    filenameBad   = new JLabel("Bad Filename");
    filenameDis = new JLabel("Discard Filename");

    // fields
    fileField = new JTextField(1);
    badfileField = new JTextField(7);
    discardfileField = new JTextField(7);
4

1 回答 1

0

布局管理器决定组件的大小。您可以使用选项来定义组件到布局管理器的边界

comp.setMinimumSize(new Dimension(w, h));
comp.setPreferredSize(new Dimension(w, h));
comp.setMaximumSize(new Dimension(w, h));

当你给setPreferredSize布局管理器时会尝试给那个尺寸。GridBagLayout 是 msot 灵活布局,您几乎可以实现所需的任何布局。

定义的参数length仅定义您可以放在文本字段中的字符。

于 2012-09-15T09:39:38.090 回答