0

正如标题所说,我的标签的高度没有增加,我的代码如下所示:

    JTabbedPane jtp = new JTabbedPane();
    JLabel iconInTab = new JLabel(new ImageIcon("myImage.png"));
    iconInTab.setPreferredSize(new Dimension(100,80)); // is the size of my Image, I've also try to do this using getSize
    jtp.addTab(null,new JPanel());
    jtp.setTabComponentAt(0,iconInTab);

我也尝试过使用 html 但它也不起作用:

    jtp.addTab("<html><p><p><p></html>",new ImageIcon("myImage.png"),new JPanel());

使用第一个代码问题不是水平大小的变化(宽度正确更改),问题仅在于高度,使用第二个代码,如果我在 html 代码中添加多行,文本显示不完整(只是显示中间线)(宽度也符合预期,问题是高度)。. .

为什么会这样?或者我怎么能做到这一点?

注意:所以:Mac OS X 10.8.1

4

1 回答 1

0

解决了!!!问题是MAC OS X(com.apple.laf.AquaTabbedPaneContrastUI)上的默认UI,您只需将其更改为basicTabbedPaneUI(或您的偏好之一),在我的特殊情况下,我需要扩展此类(*很痛苦,因为我想要的真的很复杂)以获得我所期待的外观和感觉,如果您遇到同样的麻烦,请在添加标签之前执行此操作:

     myTabbedPane.setUI(new BasicTabbedPaneUI());

注意:检查 TabbedPane 的默认 UI,可能会解决许多不同的问题。

于 2012-09-06T13:51:49.677 回答