Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JButton覆盖整个内容窗格_Java_Swing - Fatal编程技术网

Java JButton覆盖整个内容窗格

Java JButton覆盖整个内容窗格,java,swing,Java,Swing,我想使用swing在jframe中添加一个jbutton JFrame jframe=new JFrame(); jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jframe.setPreferredSize(new Dimension(200,200)); JButton jbutton=new JButton("a"); jframe.getContentPane().add(jbutton); jframe.pack(); jf

我想使用swing在jframe中添加一个jbutton

JFrame jframe=new JFrame();
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.setPreferredSize(new Dimension(200,200));
JButton jbutton=new JButton("a");
jframe.getContentPane().add(jbutton);
jframe.pack();
jframe.setVisible(true);
问题是jbutton覆盖了整个jframe。我只想在内容窗格中显示默认大小的jbutton。

使用a将允许向
BorderLayout.WEST
BorderLayout.EAST
BorderLayout.NORTH
添加任何内容,
BorderLayout.SOUTH
点只占用所需的空间,任何添加到
BorderLayout.CENTER的内容都会占用所有剩余空间

试试这个

JFrame jframe=new JFrame();
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.setPreferredSize(new Dimension(200,200));
Container content = jframe.getContentPane(); // Get the content pane
content.setLayout(new BorderLayout());
JButton jbutton=new JButton("a");
content.add(jbutton, BorderLayout.WEST);
jframe.pack();
jframe.setVisible(true);

阅读本文,了解诸如Borderlayout.WEST之类的常量如何适用于流布局。设置为BorderLayout有什么用?@user2653926我知道内容窗格的默认布局是BorderLayout。FlowLayout是普通JPanel的默认设置