107 我的Java swing应用程序有一个格式问题。它应该很简单,但是我很难找到任何帮助(每个主题似乎都与删除 JPanel中的默认填充有关)。我的各个JPanels中的文本都拥抱侧面和顶部,触及彩色边框:如何添加填充?谢谢。 java swing formatting jpanel — 康纳 source
234 在EmptyBorder周围设置一个JPanel。 例: JPanel p =new JPanel(); p.setBorder(new EmptyBorder(10, 10, 10, 10)); — 朱利安·维米拉德(Julien Vermillard) source 45 或者您可以在现有边界周围添加一些额外的填充:p.setBorder(BorderFactory.createCompoundBorder(new EmptyBorder(10, 10, 10, 10), new EtchedBorder())); — Synox 调整窗口大小会怎样?那么这个解决方案不好吗? — 2014年 @Synox传奇确实!请注意,您可以将EmptyBorder用作内部填充的最后一个参数 — Hunter S
3 JPanel通常,当您需要填充时,可以使用您正在使用的布局管理器添加填充。在某些情况下,您可以扩大的边框JPanel。 — z source 1 向布局管理器(在我的例子中为GridLayout)中添加填充可以在相邻面板之间添加填充,但不能在单个面板中添加填充。但是边界可以做到,谢谢您的帮助。 — 康纳
3 为了演示,我将假设您的JPanel包含JTextField。 这些组件提供的JTextComponent#setMargin()方法似乎正是您想要的。 如果您要在文本周围寻找任意大小的空边框,请使用 EmptyBorder — 里迪德尔 source
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); — 德米特里奥 source
p.setBorder(BorderFactory.createCompoundBorder(new EmptyBorder(10, 10, 10, 10), new EtchedBorder()));