摆动布局问题

got*_*ch4 1 java layout swing

您好我想在JPanel中获取此swing布局:

JLabel - JTextField - JComboBox

当面板调整大小时,我希望textField扩展而不是其他两个.一切都必须保持一致.我试过网格袋布局但不起作用......或者我不能.想法?

Syn*_*r0r 5

如果您有三个组件并希望中间的组件展开,您可以使用BorderLayout,将您的JLabel放在BorderLayout.WEST,将您的JComboBox放在BorderLayout.EAST,将您要扩展的那个(JTextField)放在BorderLayout.中心.

以下是丑陋的,但意图是最小化,但显示您想要的行为:

public class Gotch {
    public static void main( String[] args ) {
        JFrame main = new JFrame();
        JPanel p = new JPanel();
        p.setLayout( new BorderLayout() );
        p.add( new JLabel( "test" ), BorderLayout.WEST );
        p.add( new JTextField( "growable" ), BorderLayout.CENTER );
        p.add( new JComboBox(), BorderLayout.EAST );
        main.add( p );
        main.pack();
        main.setVisible( true );
    }
}
Run Code Online (Sandbox Code Playgroud)