First of all, i searched the whole day, tried many solutions, but no one worked..
I want to have line wrapping in my jtable.. so I made my own cellrenderer... but my JTable is laggy while scrolling etc...
Here is my cellrenderer:
public class LineWrapCellRenderer extends JTextArea implements TableCellRenderer{
public LineWrapCellRenderer(){
this.setWrapStyleWord(true);
this.setLineWrap(true);
this.setOpaque(true);
}
public Component getTableCellRendererComponent(
JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column) {
if (value != null) {
setText(value.toString());
} else {
setText("");
}
return this;
}
}
I've set the renderer with
setDefaultRenderer(String.class, CellRenderer);
My tablemodel looks like this:
return new DefaultTableModel(data, columnNames){
Object tempRetVal = new Object();
Object RetVal = new Object();
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
return false;
}
@Override
public Class<?> getColumnClass(int columnIndex) {
tempRetVal = Object.class;
RetVal = Object.class;
if(getRowCount() > 0){
for(int i = 0; i<getRowCount();i++){
tempRetVal = getValueAt(i, columnIndex);
if(tempRetVal!=null){
RetVal = tempRetVal;
}
}
}
return RetVal.getClass();
}
};
thanks in advance