Отключить подсказки Swing по параметру командной строки

1

Есть ли способ отключить отображение всплывающей подсказки в приложении Swing (JRE6+, внешний вид Motif) без изменения исходного кода?

У меня развернутое приложение, которое в одном случае имеет серьезные проблемы с отображением, когда отображаются всплывающие подсказки на JTable. По существу, вся таблица хочет перекрасить, и из-за некоторых других проблем перерисовка достаточно медленная, чтобы представить сильное мерцание. Для немедленного обхода я не могу изменить свернутые банки. Единственное решение, которое я могу себе представить прямо сейчас, - найти свойство, которое я могу установить из командной строки, которое отключает всплывающие подсказки или, по крайней мере, значительно увеличивает начальные и временные задержки.

Есть ли такое свойство?

  • 0
    JTable должен отображать только видимые ячейки; отредактируйте ваш вопрос, включив в него mcve , показывающее, как вы указываете всплывающие подсказки, и показывает проблему, которую вы описываете; это позволит другим сообщать о потенциально полезных результатах; профилирование может быть осветительным.
  • 0
    Это была только справочная информация. С тех пор мы нашли и устранили проблему. Но в этой единственной системе мы не можем просто развернуть фиксированную версию. У меня были некоторые надежды на свойство TooltipManager.enableToolTipMode, но, похоже, это ни к чему не привело. В настоящее время выясняется, могу ли я просто добавить один файл с фиксированными классами вне jar и сделать так, чтобы он перекрывал ошибочную версию внутри. В любом случае это жестоко.
Теги:
swing
tooltip

1 ответ

3
Лучший ответ

См. Класс ToolTipManager. Вы можете отключить все всплывающие подсказки в своем приложении. Поэтому вам нужна новая банка с одним маленьким классом, который предоставляет прокси-сервер вашей целевой банке.

Что-то вроде этого:

public class ProxyLauncher {
    public static void main(String[] args) {
        ToolTipManager.sharedInstance().setEnabled(false);
        // launch your application:
        // MyApplication.main(args);
    }
}
  • 0
    Спасибо, что решает мою проблему довольно приятно!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню