Jon*_*Jon 2 java size resize jframe jtextfield
当我使用下面的代码时它根本不会改变大小,它仍然填充网格中的区域.
JPanel displayPanel = new JPanel(new GridLayout(4, 2));
JTextField titleText = new JTextField("title");
displayPanel.add(titleText);
titleText.setSize(200, 24);
Run Code Online (Sandbox Code Playgroud)
Jos*_*don 14
从GridLayout上的api:
容器被分成相等大小的矩形,并且每个矩形中放置一个组件.
尝试使用FlowLayout或GridBagLayout使您的设置大小有意义.另外,@ Serplat是正确的.您需要使用setPreferredSize(Dimension)而不是setSize(int,int).
JPanel displayPanel = new JPanel();
// JPanel displayPanel = new JPanel( new GridLayout( 4, 2 ) );
// JPanel displayPanel = new JPanel( new BorderLayout() );
// JPanel displayPanel = new JPanel( new GridBagLayout() );
JTextField titleText = new JTextField( "title" );
titleText.setPreferredSize( new Dimension( 200, 24 ) );
// For FlowLayout and GridLayout, uncomment:
displayPanel.add( titleText );
// For BorderLayout, uncomment:
// displayPanel.add( titleText, BorderLayout.NORTH );
// For GridBagLayout, uncomment:
// displayPanel.add( titleText, new GridBagConstraints( 0, 0, 1, 1, 1.0,
// 1.0, GridBagConstraints.CENTER, GridBagConstraints.NONE,
// new Insets( 0, 0, 0, 0 ), 0, 0 ) );
Run Code Online (Sandbox Code Playgroud)