1. 程式人生 > 其它 >JTable的單元格編輯時如何顯示全部資訊

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