GridBagLayout限制JLabel文本的大小

时间:2015-03-30 19:44:27

标签: java swing layout-manager gridbaglayout

在我的JFrame中,我有一个带有GridLayout(3,1)的主JPanel。在第一行,我有一个带有BorderLayout()的JPanel,我放置了我的标题。在第二行,我有一个带有GridBagLayout()的JPanel,我放置了我的游戏菜单。最后一行是一个空的JLabel()。

我可以将标题字体调整为48,但对于我的菜单,我不能高于13,因为它不会显示所有字符。 似乎使用BorderLayout()我可以使用我的文本字体相当高,但不能使用限制文本字体大小的GridBagLayout()。 知道为什么吗?我的Jframe大小是640x480。

自定义标题JLabel:

public void paintComponent(Graphics g) {
    setForeground(Color.MAGENTA);
    g.setFont(new Font("TimesRoman", Font.BOLD, 48));
    super.paintComponent(g);
}

自定义菜单JLabel:

public void paintComponent(Graphics g) {
    setForeground(Color.white);
    g.setFont(new Font("TimesRoman", Font.BOLD, 13));
    super.paintComponent(g);
}

第二张图片说明了当我将文字大小设置为14时会发生什么。

enter image description here

0 个答案:

没有答案