在Border和JFrame之间留下差距

Kau*_*ain 2 java swing border

我有一个JPanel设置为BorderLayout.我JPanels在这个面板中添加了2个,一个是南,一个是中心.在中心面板,我添加了一个LowerBevelBorder.我发现我无法在主框架和边框之间留下间隙.我怎么做?这是我的panel1.setBorder(BorderFactory.createLoweredBevelBorder());

Hov*_*els 5

使用复合边框,允许您嵌套边框,而无需为此目的创建容器.API可以帮助您进行设置.例如,

int eb = 10;
panel1.setBorder(BorderFactory.createCompoundBorder(
    BorderFactory.createEmptyBorder(eb, eb, eb, eb), // outer border
    BorderFactory.createLoweredBevelBorder()));      // inner border
Run Code Online (Sandbox Code Playgroud)

注意代码未经测试.

另请注意,这取决于panel1是什么.如果它不是BorderLayout主JPanel,那么你最好的办法是设置BorderLayout的边框 - 使用JPanel作为EmptyBorder.