簡體   English   中英

如何將填充添加到帶邊框的JPanel

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM