如何用Java在JPanel的边框中写文本?

问题描述 投票:0回答:1

我正在使用Java编写GUI,并且具有以下代码:

public class MainWindow extends JFrame {

    public MainWindow () {
        setUpWindow();

        JPanel upperPanel = new JPanel();
        JPanel lowerPanel = new JPanel();

        upperPanel.setBorder(new LineBorder(Color.GRAY, 1));
        lowerPanel.setBorder(new LineBorder(Color.GRAY, 1));




        getContentPane().add(upperPanel, BorderLayout.NORTH);
        getContentPane().add(lowerPanel, BorderLayout.SOUTH);
    }

    private void setUpWindow () {
        setSize(600, 450);
        setTitle("Subjects");
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setResizable(false);
        setLayout(new BorderLayout());
        getRootPane().setBorder(BorderFactory.createMatteBorder(4,4,4,4,Color.LIGHT_GRAY));
        setVisible(true);
    }
}

如果我对此进行编译,则输出为:enter image description here

您可以看到,我在NORHT有一个JPanel,而在SOUTH有另一个JPanel。

我想在JPanel的边框中添加文本,以便获得类似以下内容的输出:

enter image description here

我曾尝试过多种方法,但我不知道如何。是否有执行此操作的JPanel方法?我应该创建一个JLabel并将其放置在其中吗?

提前感谢。

java user-interface jpanel
1个回答
0
投票

您正在寻找的是BorderFactory。可以这样应用:

upperPanel.setBorder(BorderFactory.createTitledBorder("Favorite subjects"));

有关JPanels,Borders的详细说明以及可能的内容(带有示例),请参见Oracle文章How to Use Borders。>>

© www.soinside.com 2019 - 2024. All rights reserved.