Java JButton覆盖整个内容窗格
我想使用swing在jframe中添加一个jbuttonJava 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
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的默认设置