JTable的单元格编辑时如何显示全部信息
1、单元格的编辑只显示部分内容:
2、想要的效果:
代码实现:
1、添加JTextArea的编辑渲染类:
public class HextAreaCellEditor extends AbstractCellEditor implements TableCellEditor { private static final long serialVersionUID = 8076849569001284121L; private JTextArea textArea; public TextAreaCellEditor() { textArea = new JTextArea(); textArea.setLineWrap(true); textArea.setWrapStyleWord(true); } @Override public Object getCellEditorValue() { // TODO Auto-generated method stub return textArea.getText(); } @Override public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { String valueStr = ""; if(value != null) { valueStr = value.toString(); } textArea.setText(valueStr); return textArea; } }
2、在表格设置编辑渲染为这个类:
table.getColumnModel().getColumn(columnIndex).setCellEditor(new JTextAreaCellEditor());