我想在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
。
当然,您也可以使用 BorderFactory#createCompoundBorder(border, margin)
。