如何改变swing标签的差距

我创建了一些标签:

leftLabel.setAlignmentX(Component.CENTER_ALIGNMENT); leftLabel.setFont(new Font(FONT, Font.PLAIN, 280)); leftLabel.setBorder(BorderFactory.createTitledBorder("aaa")); leftLabel.setText("0"); 

看起来像这样: 在此处输入图像描述

正如你所看到的那样,上下差距很大。 我怎么能减少它?

你需要调整边框插入,

 import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.Insets; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.SwingUtilities; import javax.swing.border.TitledBorder; public final class TitledBorderDemo { private static void createAndShowGUI(){ JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new FlowLayout()); frame.add(new TitledLabel(String.valueOf(0))); frame.pack(); frame.setVisible(true); } private static class TitledLabel extends JLabel{ private static final long serialVersionUID = 1L; private static final String TITLE = "aaa"; TitledLabel(String text){ super(text); setAlignmentX(Component.CENTER_ALIGNMENT); setFont(new Font("Arial", Font.PLAIN, 280)); setBorder(new TitledBorder(TITLE){ private static final long serialVersionUID = 1L; @Override public Insets getBorderInsets(Component c, Insets insets){ // arbitrary insets for top and bottom. return new Insets(insets.top - 45, insets.left, insets.bottom - 55, insets.right); }}); } } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable(){ @Override public void run() { createAndShowGUI(); } }); } } 

在此处输入图像描述

希望这能让你开始朝着正确的方向前进!

问题可能在新创建的边框的属性中。 这些边界有插图。 这是我唯一能想到的影响差距的方法。 尝试在边框上调用一个方法,将这些插入更改为[1,1,1,1]