Java 添加到另一个JPanel后,JPanel变得更小(很多)
在我将我的画布(蓝色的)添加到画布2(绿色的)之后,画布变得非常小,我不知道为什么。帮助我!这是我的密码:Java 添加到另一个JPanel后,JPanel变得更小(很多),java,Java,在我将我的画布(蓝色的)添加到画布2(绿色的)之后,画布变得非常小,我不知道为什么。帮助我!这是我的密码: public static void main(String[] args) { JPanel canvas = new JPanel(); JPanel canvas2 = new JPanel(); canvas.setBounds(40, 40, 200, 200); canvas.setBackground(Color.BLUE); c
public static void main(String[] args) {
JPanel canvas = new JPanel();
JPanel canvas2 = new JPanel();
canvas.setBounds(40, 40, 200, 200);
canvas.setBackground(Color.BLUE);
canvas2.setBounds(40, 40, 200, 200);
canvas2.setBackground(Color.GREEN);
canvas2.add(canvas);
JFrame window = new JFrame();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setBounds(30, 30, 600, 600);
window.getContentPane().add(canvas2);
window.setVisible(true);
}
结果是:
您的代码忽略了容器布局管理器——JFrame的contentPane的BorderLayout和JPanel的FlowLayout。添加到这些容器中的组件将由这些布局管理器调整大小 您可以在此处找到布局管理器教程:,也可以在此处找到指向Swing教程和其他Swing资源的链接:。
canvas
(蓝色JPanel
)完全为空。因此,LayoutManager
正在将其大小调整到尽可能小的大小。如果你添加一些组件,它会变得更大。或者,你也可以这样做
canvas.setPreferredSize(new Dimension(200, 200));
但出于几个原因,这通常是一个坏主意