JButton扩展到占据整个框架/容器

Mic*_*yle 7 java user-interface swing jframe jbutton

嘿大家.我正在尝试使用按钮和标签制作一个swing GUI.即时通讯使用边框布局和标签(在北方字段中)显示正常,但按钮占据框架的其余部分(它在中心字段中).任何想法如何解决这个问题?

Osc*_*Ryz 13

您必须将按钮添加到另一个面板,然后将该面板添加到框架.

事实证明,BorderLayout扩展了组件中间的东西

您的代码现在应该如下所示:

之前

public static void main( String [] args ) {
    JLabel label = new JLabel("Some info");
    JButton button = new JButton("Ok");

    JFrame frame = ... 

    frame.add( label, BorderLayout.NORTH );
    frame.add( button , BorderLayout.CENTER );
    ....

}
Run Code Online (Sandbox Code Playgroud)

将其更改为以下内容:

public static void main( String [] args ) {
    JLabel label = new JLabel("Some info");
    JButton button = new JButton("Ok");
    JPanel panel = new JPanel();
     panel.add( button );

    JFrame frame = ... 

    frame.add( label, BorderLayout.NORTH );
    frame.add( panel , BorderLayout.CENTER);
    ....

}
Run Code Online (Sandbox Code Playgroud)

前/后

之前http://img372.imageshack.us/img372/2860/beforedl1.png 之后http://img508.imageshack.us/img508/341/aftergq7.png