Ich habe eine einfache JTable, die die Details (im Spaltenformat) einer Zeile von einem anderen JTable zeigt. Das funktioniert gut. Manchmal ist der Text in einer Zeile jedoch sehr lang, so dass der Benutzer am Ende über den Ordner blättern muss, der nicht sauber ist.Wie Zeilenumbruch in einer JTable-Zeile
Wie kann ich den Text in einer Zeile umbrechen und die Zeilenhöhe ändern, um den gesamten Text anzuzeigen. Hier
ist der Code:
table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
if (!e.getValueIsAdjusting()) {
int selectedRow = table.getSelectedRow();
DefaultTableModel newModel = new DefaultTableModel();
String rowName = "Row: " + selectedRow;
newModel.setColumnIdentifiers(new Object[]{rowName});
for (int i = 0; i < table.getModel().getColumnCount(); i++) {
newModel.addRow(new Object[]{table.getModel().getValueAt(selectedRow, i)});
}
JTable newTable = new JTable(newModel) {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public Dimension getPreferredScrollableViewportSize() {
return new Dimension(140, 240);
}
};
newTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
newTable.setRowHeight(14, 30);
TableColumnAdjuster tcanewTable = new TableColumnAdjuster(newTable);
tcanewTable.setColumnHeaderIncluded(true);
tcanewTable.setColumnDataIncluded(true);
tcanewTable.setOnlyAdjustLarger(true);
tcanewTable.setDynamicAdjustment(true);
tcanewTable.adjustColumns();
// Apply any custom renderers and editors
JOptionPane.showMessageDialog(frame, new JScrollPane(newTable),
rowName, JOptionPane.PLAIN_MESSAGE);
}
}
});
Post 'SSCCE', der das Problem demonstriert. Sie wurden in der Vergangenheit gebeten, eine 'SSCCE' mit jeder Frage zu veröffentlichen: http://stackoverflow.com/a/37606317/131872 – camickr