我正在开发一个应用程序,它有一个需要多行单元格的 JTable。因此,我扩展了 JTextArea,一切都显示出来了,但是当我尝试编辑单元格时。文本显示为单行,编辑后变为多行。我希望文本在编辑过程中保持多行。
有没有办法做到这一点?
创建您的表格单元格编辑器 http://docs.oracle.com/javase/6/docs/api/javax/swing/table/TableCellEditor.html使用 JTextArea(而不是使用 JTextField 的默认行为)并将其设置为您的 JTable。
您可以使用J编辑器面板 http://docs.oracle.com/javase/6/docs/api/javax/swing/JEditorPane.html如果您愿意,还可以支持文本样式。
---- 编辑2 ----
新的表格单元格编辑器:
class MyTableCellEditor extends AbstractCellEditor implements TableCellEditor {
JComponent component = new JTextArea();
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected,
int rowIndex, int vColIndex) {
((JTextArea) component).setText((String) value);
return component;
}
public Object getCellEditorValue() {
return ((JTextArea) component).getText();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)