在我的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时会发生什么。