Удалить текущую пунктирную линию JTabbedPane

Как удалить пунктирную линию вокруг текущей выбранной вкладки на JTabbedPane.

Например:

альтернативный текст

Видите пунктирную линию вокруг него?


person Community    schedule 17.07.2010    source источник


Ответы (3)


Я только что нашел лучший способ:

component.setFocusable(false);
person Community    schedule 18.07.2010
comment
хорошая идея, это работает, потому что пунктирные линии предназначены для выбранной вкладки и в фокусе (а не только для выбранной) - person objects; 18.07.2010

попробуйте установить цвет фокуса

UIManager.put("TabbedPane.focus", new Color(0, 0, 0, 0));

или установите тот же цвет, что и фон

person objects    schedule 18.07.2010

  • Это нарисовано текущим Look and Feel.
  • Я считаю, что то, что вам нужно, будет зависеть от используемого вами LnF.

  • Вы захотите создать собственный класс TabbedPaneUI, вероятно, переопределяющий класс в выбранном вами L&F. Возможно, вы переопределяете javax.swing.plaf.basic.BasicTabbedPaneUI.

  • переопределите paintFocusIndicator и сделайте его пустым методом.
  • Вам нужно будет создать экземпляр этого класса, а затем вызвать myTabbedPane.setUI(myTabbedPaneUI)
person Sanjay Manohar    schedule 18.07.2010
comment
это очень полезно, потому что делегаты пользовательского интерфейса — плохо обсуждаемая тема, но их не обязательно сложно использовать. - person AgostinoX; 21.10.2011