подсказка для текстовой ячейки - PullRequest
0 голосов
/ 08 июля 2011

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

также мне нужно затенить недоступные для редактирования ячейки.

1 Ответ

1 голос
/ 08 июля 2011

вам следует использовать всплывающую подсказку, либо специализированную, например Netbeans (я думаю, это и есть начало) Viewtooltips со своим выделенным менеджером (следующая ссылка содержит ссылку на оригинал)

http://javabyexample.wisdomplug.com/java-concepts/34-core-java/59-tips-and-tricks-for-jtree-jlist-and-jcombobox-part-i.html

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

Правка (вторая часть вопроса, цвет конфигурации нередактируемых ячеек)

аналогично любой конфигурации компонента рендеринга: в пользовательском рендерере, в основном

// we are in getXXRenderingComponent
if (table.isCellEditable(row, column)) {
    setForeground(normalColor);  
} else {
    setForeground(notEditableColor);
}

Или используйте SwingX (не могу устоять, могу ли я:)

Highlighter hl = new ColorHighlighter(HighlightPredicate.READ_ONLY, 
     null, notEditableColor);
table.addHighlighter(hl);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...