以下代码方便地创建了一个框布局,但我遇到的问题是文本字段占据了整行。 这应该依赖于指定它的参数长度。
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);
布局管理器决定组件的大小。您可以选择使用
comp.setMinimumSize(new Dimension(w, h));
comp.setPreferredSize(new Dimension(w, h));
comp.setMaximumSize(new Dimension(w, h));
当您给出setPreferredSize
布局管理器将尝试给出该尺寸时。GridBagLayout是msot灵活的布局,您可以漂亮地实现所需的任何布局。
通过定义length
的参数仅定义可以在文本字段中输入的字符。