有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java Swing编程面板标题

短时间看屏幕 如何添加步骤并选择项目

这是一个jabel还是小组中的一个标题

image


共 (1) 个答案

  1. # 1 楼答案

    这将通过利用Swing中可用的BorderAPI来实现。更详细地看一下How to use borders

    作为一个非常粗略的例子

    enter image description here

    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);
            }        
        }        
    }