-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 - 這不僅是'一種方式',而且確實是最好的方式***創造效果。 –