创建新的 JPanel 时是否可以设置 JPanel 的大小?

Is it possible to set a JPanel's size when creating a new JPanel?

我想知道是否有办法在创建 JPanel 时更改其大小。

我的代码如下所示:

add(scoreArea, BorderLayout.NORTH);
add(gameArea, BorderLayout.CENTER);
add(new JPanel(), BorderLayout.WEST);
add(new JPanel(), BorderLayout.EAST);
add(new JPanel(), BorderLayout.SOUTH);

我使用 JPanel 创建边框,但我想让它们更细。我是 swing 的新手,我只是想知道您是否可以在同一语句中更改大小,或者我是否必须制作 JPanel 对象并在那里设置大小?

我试过了,但似乎不起作用:

add(new JPanel(){
    setPreferredSize(new Dimension(10, 300));
}, BorderLayout.EAST);

有没有办法做这样的事情?

编辑:真的不赞成票吗?只是问一个问题,我认为没有必要投反对票。多么棒的社区啊。

您可以使用 EmptyBorder class:

JPanel(容器)设置边距
EmptyBorder margin = new EmptyBorder(top, left, bottom, right);
getContentPane().setBorder(border);

设置首选尺寸的正确方法是:

Dimension size = new Dimension(width, height);
JPanel panel;

add(panel = new JPanel(), BorderLayout.WEST);
panel.setPreferredSize(size); 

add(panel = new JPanel(), BorderLayout.EAST);
panel.setPreferredSize(size); 

add(panel = new JPanel(), BorderLayout.SOUTH);
panel.setPreferredSize(size);