设置 JTabbedPane 选项卡图标的图标大小

Set icon size of JTabbedPane tab icon

有没有办法轻松设置 JTabbedPane 选项卡的图标大小。 该图标与原始图像的大小相同,因此占据了屏幕的一半,因此看起来非常可笑。

我如何轻松地将此图标调整为与我的文本相似的大小 "Settings" 并且让它正常显示?

URL cogIconUrl = getClass().getResource("/images/cog.png");
ImageIcon cogImg = new ImageIcon(cogIconUrl);

JTabbedPane jtp = new JTabbedPane();
getContentPane().add(jtp);
JPanel jp1 = new JPanel();
jtp.addTab("Settings", cogImg,jp1);

此外,您将如何设置选项卡文本的字体?我假设这两者可能相关。

调整图片大小:

BufferedImage image = ImageIO.read(...);
Image scaled = image.getScaledInstance(...);
Icon icon = new ImageIcon( scaled );

注意:getScaledInstance(...) 方法可能不是最好的方法,因为它很慢,但对于单个图像,您不会注意到任何问题。

您可以阅读 Perils of Image.getScaledImage 了解更多信息。