1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| public static void main(String[] arguments) {
DefaultTableModel model = new DefaultTableModel(10, 1);
String text = "Un, deux, trois, quatre, cinq, six, sept, huit, neuf, dix.";
StringBuilder content = new StringBuilder(text);
for (int i = 0; i < model.getRowCount(); ++i) {
model.setValueAt(content.toString(), i, 0);
content.append(' ').append(text);
}
final JTable table = new JTable(model);
table.getColumnModel().getColumn(0).setCellRenderer(new TableCellRenderer() {
private JTextArea textArea = new JTextArea();
@Override
public Component getTableCellRendererComponent(
JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row, int column)
{
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
textArea.setText((String) value);
return textArea;
}
});
table.addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent arg0) {
updateAllRowHeight(table, 0);
}
});
JFrame frame = new JFrame();
frame.add(new JScrollPane(table));
frame.pack();
frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
frame.setVisible(true);
} |
Partager