Einen schönen guten Abend,
ich habe eine Frage an euch. Ich habe einen JTable, dessen Positionen (Reihen) mit unterschiedlichen Farben dargestelt werden.
Ich möchte ein Popup Menü bei Klick auf die rechte Maustaste erzeugen, und zwar abhängig davon, ob die Zeile farbig ist oder nicht.
Dazu habe ich eine Klasse "showPopup" geschrieben.
Und Ihr werdet es schon erraten. Funktioniert nicht so wie es soll.
Die Methode springt bei Rechtsklick auf eine weiße Zelle direkt in die zweite Bedingung und es wird das falsche Popup angezeigt, nämlich daß, welches für farbige Zellen gedacht ist.
Demnach wird die Bedingung >> if (c.getBackground() == null) << nicht richtig geprüft.
Zur Info, ich habe den betreffenen Zellen auch schon eine andere Farbe zur Prüfung zugeordnet und dann die Bedingung auf diese Farbe aufgerufen,
also if (c.getBackground() == Color.GREEN) <<
Gleiches Ergebniss.
Kann mir jemand nen Tipp geben wo der Fehler hängt?
Hier die Methode.
Dank euch
ich habe eine Frage an euch. Ich habe einen JTable, dessen Positionen (Reihen) mit unterschiedlichen Farben dargestelt werden.
Ich möchte ein Popup Menü bei Klick auf die rechte Maustaste erzeugen, und zwar abhängig davon, ob die Zeile farbig ist oder nicht.
Dazu habe ich eine Klasse "showPopup" geschrieben.
Und Ihr werdet es schon erraten. Funktioniert nicht so wie es soll.
Die Methode springt bei Rechtsklick auf eine weiße Zelle direkt in die zweite Bedingung und es wird das falsche Popup angezeigt, nämlich daß, welches für farbige Zellen gedacht ist.
Demnach wird die Bedingung >> if (c.getBackground() == null) << nicht richtig geprüft.
Zur Info, ich habe den betreffenen Zellen auch schon eine andere Farbe zur Prüfung zugeordnet und dann die Bedingung auf diese Farbe aufgerufen,
also if (c.getBackground() == Color.GREEN) <<
Gleiches Ergebniss.
Kann mir jemand nen Tipp geben wo der Fehler hängt?
Hier die Methode.
Dank euch
Code:
public class showPopup extends MouseAdapter {
@Override
public void mouseClicked(MouseEvent e) {
Component c = e.getComponent();
if (e.getButton() == MouseEvent.BUTTON3) {
if (c.getBackground() == null) {
c.add(rowBestPopup);
rowBestPopup.show(e.getComponent(), e.getX(), e.getY());
} else {
c.add(rowPopup);
rowPopup.show(e.getComponent(), e.getX(), e.getY());
}
}
}
}