创建新的 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);
我想知道是否有办法在创建 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);