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());

  

posted @ 2022-03-07 10:30  信铁寒胜  阅读(258)  评论(0编辑  收藏  举报