Java中的JPanel填充


107

我的Java swing应用程序有一个格式问题。它应该很简单,但是我很难找到任何帮助(每个主题似乎都与删除 JPanel中的默认填充有关)。我的各个JPanels中的文本都拥抱侧面和顶部,触及彩色边框:如何添加填充?谢谢。

Answers:


234

EmptyBorder周围设置一个JPanel
例:

JPanel p =new JPanel();
p.setBorder(new EmptyBorder(10, 10, 10, 10));

45
或者您可以在现有边界周围添加一些额外的填充:p.setBorder(BorderFactory.createCompoundBorder(new EmptyBorder(10, 10, 10, 10), new EtchedBorder()));
Synox

调整窗口大小会怎样?那么这个解决方案不好吗?
2014年

@Synox传奇确实!请注意,您可以将EmptyBorder用作内部填充的最后一个参数
Hunter S

3

JPanel通常,当您需要填充时,可以使用您正在使用的布局管理器添加填充。在某些情况下,您可以扩大的边框JPanel


1
向布局管理器(在我的例子中为GridLayout)中添加填充可以在相邻面板之间添加填充,但不能在单个面板中添加填充。但是边界可以做到,谢谢您的帮助。
康纳


0
JPanel p=new JPanel();  
GridBagLayout layout=new GridBagLayout(); 
p.setLayout(layout); 
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill=GridBagConstraints.HORIZONTAL; 
gbc.gridx=0;   
gbc.gridy=0;   
p2.add("",gbc);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.