A
Andi0815
Gast
Hallo!
folgendes ist das Problem:
Es sollen einige tausend JTable Zellen auf bestimmte Eigenschaften überprüft werden, so z.B. ob in einem String überflüssige Leerzeichen enthalten sind, oder ob ein bestimmtes Wort vorkommt. Das ganze wird im TableCellRenderer geprüft und wenn dies der Fall ist, soll die Zelle eine Warnfarbe bekommen.
Zudem wird zunächst geprüft, ob diese Funktion überhaupt eingeschaltet ist.
Folgendes hab ich mir dazu überlegt:
Hinweis: Die boolean "whitespace" ist die Einstellung des Users, ob überhaupt danach gesucht werden soll!
Hierzu die Frage, welcher dieser beiden Möglichkeiten die bessere ist.
Weiterhin wird noch mehrfach nach bestimmten Wörter gesucht. Jeweils auch nur, wenn der User das möchte (vorname == true)
Hier fällt mir auch die 2. Möglichkeit wie oben mit der while schleife ein.
Ich bitte um ein paar Meinungen, welche der Schleifen ich benutzen soll. Oder habt ihr vielleicht noch eine bessere Möglichkeit, die für einen Anfänger noch zu verstehen sind
Da der Renderer ja scheinbar bei jeder kleinsten Mausbewegung aufgerufen wird, möchte ich hier möglichst performant arbeiten, um unnötige Belastung zu vermeiden
Viele Grüße
Andi
folgendes ist das Problem:
Es sollen einige tausend JTable Zellen auf bestimmte Eigenschaften überprüft werden, so z.B. ob in einem String überflüssige Leerzeichen enthalten sind, oder ob ein bestimmtes Wort vorkommt. Das ganze wird im TableCellRenderer geprüft und wenn dies der Fall ist, soll die Zelle eine Warnfarbe bekommen.
Zudem wird zunächst geprüft, ob diese Funktion überhaupt eingeschaltet ist.
Folgendes hab ich mir dazu überlegt:
Hinweis: Die boolean "whitespace" ist die Einstellung des Users, ob überhaupt danach gesucht werden soll!
Code:
if (((value.toString().endsWith(" ")) || (value.toString().startsWith(" "))) && (whitespace == true) ) {
setBackground(Color.MAGENTA);
System.out.println("Whitespace gefunden");
}
while (whitespace==true){
if (((value.toString().endsWith(" ")) || (value.toString().startsWith(" "))) {
setBackground(Color.MAGENTA);
System.out.println("Whitespace gefunden");
}
}
Hierzu die Frage, welcher dieser beiden Möglichkeiten die bessere ist.
Weiterhin wird noch mehrfach nach bestimmten Wörter gesucht. Jeweils auch nur, wenn der User das möchte (vorname == true)
Code:
if (vorname == true){
if (value.toString().compareToIgnoreCase(Vorname) == 0) {
reihe= reihe+row; //ist dazu da um festzustellen ob die ganzen zu suchenden wörter in einer reihe stehen
setBackground(Color.RED);
System.out.println("Vorname gefunden");
}
}
// ... dieser Code kommt dann noch 5-6 mal vor, jeweils für nachname, titel etc.
Hier fällt mir auch die 2. Möglichkeit wie oben mit der while schleife ein.
Ich bitte um ein paar Meinungen, welche der Schleifen ich benutzen soll. Oder habt ihr vielleicht noch eine bessere Möglichkeit, die für einen Anfänger noch zu verstehen sind
Da der Renderer ja scheinbar bei jeder kleinsten Mausbewegung aufgerufen wird, möchte ich hier möglichst performant arbeiten, um unnötige Belastung zu vermeiden
Viele Grüße
Andi