Высота вкладки (JTabbedPane) не меняется

Как следует из названия, высота моих вкладок не увеличивается, как следует, мой код выглядит так:

    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-кода, текст выглядит неполным (просто показать среднюю линию) (также ширина ведет себя как положено, проблема в высоте). . .

почему это происходит? или как я мог это сделать?

Примечание: S.O.: Mac OS X 10.8.1


person Ordiel    schedule 05.09.2012    source источник


Ответы (1)


Решено!!! Проблема заключалась в том, что пользовательский интерфейс по умолчанию для MAC OS X (com.apple.laf.AquaTabbedPaneContrastUI), вам нужно только изменить его на basicTabbedPaneUI (или тот, который вы предпочитаете), в моем конкретном случае мне нужно расширить этот класс ( это была боль в *, потому что то, что я хотел, было действительно сложным), чтобы получить внешний вид, который я ожидал, если у вас возникла такая же проблема, просто сделайте это перед добавлением своих вкладок:

     myTabbedPane.setUI(new BasicTabbedPaneUI());

Примечание. Проверка пользовательского интерфейса TabbedPane по умолчанию может решить множество различных проблем.

person Ordiel    schedule 06.09.2012