Как изменить внешний вид всплывающей подсказки на системный?

Я добавил строку, чтобы настроить внешний вид системы. Это работает, потому что полосы прокрутки изменились.

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

Но когда я устанавливаю всплывающую подсказку на вкладку JTabbedPane, она не показывает внешний вид системы для всплывающих подсказок. Почему это? Скриншоты ниже.

Внешний вид системы:

введите здесь описание изображения

Внешний вид Java (?):

введите здесь описание изображения

Я хочу, чтобы моя всплывающая подсказка выглядела как система, которая находится на первом снимке экрана. Как мне это сделать?


person Matt    schedule 08.07.2012    source источник
comment
Вы звонили JFrame.setDefaultLookAndFeelDecorated(true); перед сменой LAF?   -  person Eng.Fouad    schedule 08.07.2012
comment
Вы можете найти полезным Как сделать всплывающую подсказку Windows 7 на Java.   -  person tenorsax    schedule 08.07.2012


Ответы (1)


Много работы без полного эффекта:

  • для получения фона вам нужна пользовательская реализация ToolTipUI: в основном расширяйте BasicToolTipUI и берите на себя рисование
  • зарегистрируйте пользовательский делегат пользовательского интерфейса с помощью UIManager, чтобы он использовался вместо стандартного
  • теоретически вы можете добиться закругленных углов окна (того, которое содержит всплывающую подсказку), используя фигурное окно (общедоступный API в jdk7, полуофициальный обходной путь, доступный для jdk6), вам понадобится фигурное окно. Практически нет способа (кроме экстремального взлома) заставить ToolTipManager использовать это окно.
person kleopatra    schedule 08.07.2012