我正在使用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);
}
}
您可以看到,我在NORHT有一个JPanel,而在SOUTH有另一个JPanel。
我想在JPanel的边框中添加文本,以便获得类似以下内容的输出:
我曾尝试过多种方法,但我不知道如何。是否有执行此操作的JPanel方法?我应该创建一个JLabel并将其放置在其中吗?
提前感谢。
您正在寻找的是BorderFactory。可以这样应用:
upperPanel.setBorder(BorderFactory.createTitledBorder("Favorite subjects"));
有关JPanels,Borders的详细说明以及可能的内容(带有示例),请参见Oracle文章How to Use Borders。>>