модные подсказки в Swing - PullRequest
       30

модные подсказки в Swing

5 голосов
/ 19 августа 2011

У меня есть JTable, для которого я хотел бы отобразить необычную всплывающую подсказку (в основном JTextArea) для определенных ячеек в столбце. Я использую пользовательский рендерер ячеек, поэтому было бы легко, если бы я мог понять, как открыть окно, когда наведу курсор на компонент рендерера ячеек.

Есть ли примеры, как это сделать?

Ответы [ 2 ]

4 голосов
/ 20 августа 2011

Вы можете использовать HTML во всплывающих подсказках , если вы используете теги <html> и </html> вокруг содержимого.

Используйте HTML для форматирования всплывающей подсказки. Использование цветных (<font>) и многострочных (<br>) всплывающих подсказок теперь легко.


Создание и перезапись по умолчанию JToolTip немного сложнее. Каждый компонент имеет экземпляр JToolTip, и вы можете получить его с помощью JComponent.createToolTip(). Чтобы создать пользовательскую подсказку, расширьте средство визуализации ячеек и переопределите его createToolTip для реализации пользовательских функций (верните пользовательскую расширенную версию JToolTip).

3 голосов
/ 20 августа 2011

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

Существует класс UIManager , который управляет внешним видом компонентов, включая класс Swing ToolTip.Простой способ сделать легкое изменение - вызвать метод в UIManager для установки свойств для всплывающих подсказок.Делая это, вы можете сделать что-то вроде использования BorderFactory для добавления декоративной рамки или изменить цвет фона и т. Д.

Вот несколько примеров изменения некоторых из этих свойств:

UIManager.put("ToolTip.background", new ColorUIResource(255, 247, 200)); // The color is #fff7c8.
Border border = BorderFactory.createLineBorder(new Color(76,79,83)); // The color is #4c4f53.
UIManager.put("ToolTip.border", border);
ToolTipManager.sharedInstance().setDismissDelay(15000);// 15 seconds    

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

Вы также можете посмотреть на этот вопрос переполнения стека на , как установить вставки во всплывающей подсказке.

...