在java中使用方框布局
下面的代码很方便地创建了一个方框布局,但我遇到的问题是文本字段占据了整行。它应该测量指定它的参数长度在java中使用方框布局,java,swing,layout-manager,boxlayout,Java,Swing,Layout Manager,Boxlayout,下面的代码很方便地创建了一个方框布局,但我遇到的问题是文本字段占据了整行。它应该测量指定它的参数长度 public void makeControlpanel(){ JPanel controlpanel = new JPanel(); //SET PANEL LAYOUT MANAGERS controlpanel.setLayout(new BoxLayout(controlpanel,BoxLayout.PAGE_AXIS)); controlpane
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
by defention仅定义可以在文本字段中输入的字符。您读过以下内容吗:?通常,LayoutManager有权覆盖组件大小等属性。可以使用允许进行所需微调的LayoutManager,也可以使用子类JTextField返回maxSize。建议使用前者,无论如何,您都需要一个功能更强大的LayoutManager。否-永远不要使用任何setXXSize方法,原因请参见),而应使用合适的LayoutManager。@Kleopatra,您建议使用什么布局,因为我想将面板中的组件按不同的行排列lenghts@lee我个人目前最喜欢的是MigLayout(顺便说一句:符号和名称之间的空格阻止我收到你的评论:-)@Kleopatra一个人应该知道这些方法的存在以及它的作用,这样他才能决定是否使用它。@Lee TryGridBagLayout
。不,最好忘记(或者新手永远学不到)这些方法是存在的——应用它们会带来无尽的痛苦。。