-1
我想知道是否有办法在创建JPanel时更改JPanel的大小。创建新的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的需要。什么是社区。
首先,我建议使用'Border' API ,[如何使用边框](https://docs.oracle.com/javase/tutorial/uiswing/components/border.html),它相当强大。你通常在寻找'setPreferredSize'(虽然我不鼓励使用它),但是你可以创建一个自定义的类或工厂方法来为你做这件事 – MadProgrammer
这是行不通的,'new JPanel(){setPreferredSize new Dimension(10,300));}'but ** this ** will:'new JPanel(){{setPreferredSize(new Dimension(10,300));}}' - 注意双花括号。但话虽如此,更好的解决办法是遵循@ MadProgrammer的建议。 –
*“我用JPanel创建了一个边界..有没有办法做这样的事情?”*使用EmptyBorder - 这不仅是'一种方式',而且确实是最好的方式***创造效果。 –