Versucht hatte ich Folgendes
aber es lässt sich keine Zelle selektieren. Habt ihr vielleicht einen Workaround für mich parat?
Java:
private static class MultiLineTableCellRenderer extends JTextArea implements TableCellRenderer {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
if (value instanceof String[]) {
String[] s = (String[]) value;
StringBuilder sb = new StringBuilder();
for (String string : s) {
sb.append(string);
sb.append("\n");
}
this.setText(sb.toString());
if (isSelected) {
// this.select(0, s[0].length());
StringSelection selection = new StringSelection(s[0]);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(selection, selection);
}
}
return this;
}
}
DefaultTableModel dtm = new DefaultTableModel(1, 5) {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public Class<?> getColumnClass(int columnIndex) {
return String[].class;
}
};
JTable table = new JTable(dtm);
table.setDefaultRenderer(String[].class, new MultiLineTableCellRenderer());
table.setRowHeight(table.getRowHeight() * 4);