Hi @ all,
ich habe einen ColorRenderer geschrieben, der mit die markierte Zelle mit Benutzerdefinierten farben füllt.
Jetzt stehe ich vor dem Problem, dass aber alle selektierten Zellen mit den Farben gefüllt werden sollen.
Mein jetztiger Code färbt aber immer nur eine Zelle. Könnt ihr mir helfen!?
Danke schonmal.
Greetz
Crasher
ich habe einen ColorRenderer geschrieben, der mit die markierte Zelle mit Benutzerdefinierten farben füllt.
Jetzt stehe ich vor dem Problem, dass aber alle selektierten Zellen mit den Farben gefüllt werden sollen.
Mein jetztiger Code färbt aber immer nur eine Zelle. Könnt ihr mir helfen!?
Java:
public Component getTableCellRendererComponent(
JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if(isSelected){
selectedRow = row;
selectedClm = column;
if(jTable1.getModel().getValueAt(row, column) != null){
String[] selectedCellContent = jTable1.getModel().getValueAt(row, column).toString().split("-");
colors1.clear();
for (int i=0; i<selectedCellContent.length; i++) {
String[] rgb = selectedCellContent[i].split(",");
Color rgbColor = new Color(Integer.parseInt(rgb[0]), Integer.parseInt(rgb[1]), Integer.parseInt(rgb[2]));
colors1.add(rgbColor);
}
//currentColorLabel1.setBorder(BorderFactory.createLineBorder(Color.black));
return currentColorLabel1;
}
//currentColorLabel1.setText(getText());
return this;
} else {
if(jTable1.getModel().getValueAt(row, column) != null){
colorsOther1.clear();
String[] selectedCellContent = jTable1.getModel().getValueAt(row, column).toString().split("-");
for (int i=0; i<selectedCellContent.length; i++) {
String[] rgb = selectedCellContent[i].split(",");
Color rgbColor = new Color(Integer.parseInt(rgb[0]), Integer.parseInt(rgb[1]), Integer.parseInt(rgb[2]));
colorsOther1.add(rgbColor);
}
//otherColorLabel1.setText(getText());
return otherColorLabel1;
}
return this;
}
}
});
Danke schonmal.
Greetz
Crasher