我试图创建一个JPanel,其中文本显示在两个JLabel上,如电影或书名。
如何设置两个标签以一个JPanel为中心(一个在上面,一个在下面)? 此外,是否有任何方法可以将JLabel中的文本对齐设置为居中,就像将标题写入文档,书籍或电影一样。 (作者和标题是居中的标题)
编辑:这应该在全屏模式下保持为真。
实施例
JLabel1
Jlabel2withlongertext
答案 0 :(得分:2)
好的,添加一个答案,以便其他人不要在这里浪费时间:
正如Andrew所指出的,这可以通过组合GridLayout来实现,{{3}}可用于创建标签列,并在标签本身中设置文本对齐方式:
JPanel panel = new JPanel();
// Setting rows to 0 means that new rows are added as needed
panel.setLayout(new GridLayout(0, 1));
panel.add(new JLabel("text", SwingConstants.CENTER));
panel.add(new JLabel("longer text", SwingConstants.CENTER));
GridLayout使标签的大小相同,因此标签内的文本居中也使它们相对于彼此居中。