Java: показать курсор HAND и изменить шрифт части текста в строке JTable

1

У меня есть JTable с одним столбцом, отображающим определенный текст в каждой строке. Например,

Пример (www.example.com)
Тест (www.Test.com)

Теперь, когда мышь наводится на url, т.е. Текст внутри скобки курсор должен меняться на HAND-курсор, а текст внутри скобки должен быть разного цвета и подчеркиваться, чтобы показать, что он выглядит как гиперссылка. Пробовал много вещей, но не смог достичь.

Пробовал TableCellRenderer, но он меняет содержимое всей строки

Tried Map map = new Hashtable();

map.put(TextAttribute.KERNING, TextAttribute.KERNING_ON);

font = font.deriveFont (карта);

но опять же он изменяет содержимое всей строки

Любое решение будет большой помощью

Object rows[][]={ };

Object headers[]={""};

TableModel model=new DefaultTableModel(rows,header);

String name= "Example";
String url="www.example.com";
String display = name + "(" + url +")" ;
(DefaultTableModel)model).addRow(new Object[]{display});

JTable table=Jtable(model);
Теги:
swing
jtable

2 ответа

1

Вы можете попробовать это.

А для добавления многоцветного поиска значения ячейки в таблице используйте Label.

Посмотрите на этот ответ.

1

Реализация TableCellRenderer - это путь. getTableCellRendererComponent может возвращать любой компонент Swing. Поэтому ваш вопрос сводится к "как показать строку с несколькими форматами" и "как изменить курсор".

  • Чтобы показать строку с несколькими форматами, вы можете использовать html в одном JLabel, использовать несколько JLabels в JPanel или использовать JEditorPane.
  • Настройка Handcursor сводится к вызову setCursor, который доступен для всех JComponents.

Ещё вопросы

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