Mat*_*hew 20 java layout swing layout-manager
我有一个JPanel看起来像这样的东西:
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
...
panel.add(jTextField1);
panel.add(Box.createVerticalStrut(10));
panel.add(jButton1);
panel.add(Box.createVerticalStrut(30));
panel.add(jTextField2);
panel.add(Box.createVerticalStrut(10));
panel.add(jButton2);
... //etc.
Run Code Online (Sandbox Code Playgroud)
我的问题是JTextFields垂直变大.我希望它们只对单行足够高,因为这是用户可以输入的全部内容.按钮很好(它们不垂直扩展).
有没有办法阻止JTextFields扩张?我对Swing很新,所以让我知道我是否做了一切可怕的错误.
cam*_*ckr 40
textField = new JTextField( ... );
textField.setMaximumSize( textField.getPreferredSize() );
Run Code Online (Sandbox Code Playgroud)
小智 29
如果您希望宽度不断变化,只需将其设置为MAX INT即可.所以...
textField.setMaximumSize(
new Dimension(Integer.MAX_VALUE, textField.getPreferredSize().height) );