[英]How to add padding to a JPanel with a border
我想為一些JPanel
添加填充。 我找到了這個答案: https : //stackoverflow.com/a/5328475/1590323
它適用於沒有邊框的面板。 但是,我如何為已經有邊框的面板做到這一點? (在這種情況下為TitledBorder
)
我試過了:
JPanel mypanel = new MyPanel(); // Panel that I am going to add a TitledBorder to, but needs padding
mypanel.setBorder(new EmptyBorder(10,10,10,10));
JPanel mypanel_container = new JPanel();
TitledBorder border = BorderFactory.createTitledBorder(BorderFactory.createRaisedBevelBorder(), "My panel");
border.setTitleJustification(TitledBorder.LEADING);
mypanel_container.setBorder(border);
mypanel_container.add(mypanel);
this.add(mypanel_container);
(簡而言之:添加EmptyBorder
到面板應具有TitledBorder
,然后進行與所述另一面板TitledBorder
和第一面板補充,然后使用該面板)
但后來我得到了太大的填充,忽略了EmptyBorder
的構造函數值。
那么如何在帶圖形邊框的JPanel中添加填充?
你可以看看CompoundBorder
。
一個復合Border類,用於通過將內部Border對象嵌套在外部Border對象的insets中,將兩個Border對象組合成單個邊框。 例如,此類可用於向具有現有裝飾邊框的組件添加空白邊距空間:
Border border = comp.getBorder(); Border margin = new EmptyBorder(10,10,10,10); comp.setBorder(new CompoundBorder(border, margin));
當然,您也可以使用BorderFactory#createCompoundBorder(border, margin)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.