Hallo zusammen,
habe ein Problem bei der Darstellung einer JTable mit eigenen Renderer.
Wenn ich mit den Balken des JScrollPane scrolle dann wird die JTable unsauber dargestellt (Anhang).
Selektiere ich eine Zeile wird die Tabelle wieder sauber dargestellt.
Gibt es da Abhilfe (Arbeitspeicher VM bereits erhöht und JTable auf doubleBuffered)!
Renderer:
Danke schon mal!
habe ein Problem bei der Darstellung einer JTable mit eigenen Renderer.
Wenn ich mit den Balken des JScrollPane scrolle dann wird die JTable unsauber dargestellt (Anhang).
Selektiere ich eine Zeile wird die Tabelle wieder sauber dargestellt.
Gibt es da Abhilfe (Arbeitspeicher VM bereits erhöht und JTable auf doubleBuffered)!
Renderer:
Code:
public class MyExportTableRenderer extends JLabel implements TableCellRenderer {
public MyExportTableRenderer() {
setOpaque(true);
}
public Component getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column) {
String val = "";
if (value == null)
val = "";
else
val = String.valueOf(value);
// Zelleneigenschaften
boolean fieldParsed = ( (MyExportTable) table).isfieldValueModified(row,
column);
boolean fieldValid = ( (MyExportTable) table).isFieldValueValid(row, column);
// Kennung Feldwert modifiziert
if (fieldParsed)
setForeground(MyExportTable.fcFieldParsed);
else
setForeground(MyExportTable.fcFieldNotParsed);
// Kennung Feldwert gültig
if (fieldValid)
setBackground(MyExportTable.bgFieldValueValid);
else //-- Feldwert ist nicht korrekt
setBackground(MyExportTable.bgFieldValueNotValid);
// Selektion
if (isSelected && fieldValid)
this.setBackground(Color.magenta);
// Anzeigetext
this.setText(val);
return this;
}
}
Danke schon mal!