# 1 楼答案 这将通过利用Swing中可用的BorderAPI来实现。更详细地看一下How to use borders 作为一个非常粗略的例子 import java.awt.BorderLayout; import java.awt.Color; import java.awt.EventQueue; import java.awt.Font; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.CompoundBorder; import javax.swing.border.EmptyBorder; import javax.swing.border.MatteBorder; public class PanelTitles { public static void main(String[] args) { new PanelTitles(); } public PanelTitles() { EventQueue.invokeLater(new Runnable() { @Override public void run() { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) { } JFrame frame = new JFrame("Testing"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); frame.add(new TitlePane(), BorderLayout.NORTH); frame.add(new JLabel("This is the content")); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); } }); } public class TitlePane extends JPanel { public TitlePane() { setLayout(new BorderLayout()); setBorder(new CompoundBorder(new EmptyBorder(4, 4, 4, 4), new MatteBorder(0, 0, 1, 0, Color.BLACK))); JLabel label = new JLabel("This is a title"); label.setFont(label.getFont().deriveFont(Font.BOLD)); add(label); } } }
# 1 楼答案
这将通过利用Swing中可用的
Border
API来实现。更详细地看一下How to use borders作为一个非常粗略的例子