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

时间:2017-01-20 02:04:53

标签: java swing jpanel border

我想知道在创建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);

我使用JPanels创建边框,但我想让它们更薄。我是新手,我只是想知道你是否可以在同一个声明中更改大小,或者我是否必须制作JPanel对象并在那里设置大小?

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

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

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

编辑:真的是downvotes?只是问一个问题,我不认为需要一个downvote。什么是社区。

1 个答案:

答案 0 :(得分:0)

您可以使用EmptyBorder类设置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);