У меня есть 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);
Реализация TableCellRenderer
- это путь. getTableCellRendererComponent
может возвращать любой компонент Swing. Поэтому ваш вопрос сводится к "как показать строку с несколькими форматами" и "как изменить курсор".
JLabel
, использовать несколько JLabels
в JPanel
или использовать JEditorPane
.setCursor
, который доступен для всех JComponents.