![]() |
|
|
|||||||
| AWT, Swing, JavaFX & SWT Themen zur Programmierung von Benutzer-Oberflächen (GUI, Applet) sowie zur Grafikprogrammierung (2D / 3D) |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |||
|
Benutzer
double
Registriert seit: 18.10.2009
Fachbeiträge: 64
Abgegebene Danke: 2
Erhielt 2 Danke für 2 Beiträge
|
Hallo Leute,
ich habe mal wieder ein Problem, diesmal in Swing, und habe noch keine Lösung im Forum gefunden. Wäre Klasse, wenn ihr mir wieder so schnell helfen könntet. Also hier das Problem: Ich versuche selbstgestaltete Felder zu programmieren, die z.B. beim Anklicken ihre Farbe wechseln können. Da ich davon mehrere habe, dachte ich, dass ich die Kontrolle per MouseListener nicht in der Mutter-Komponente (also in dem JPanel wo alle drin sind) mache, sondern jedem Feld seinen eigenen MouseListener geben könnte. Im MouseListener wird auch ne Testausgabe gemacht, die kommt aber leider nicht zum Vorschein. Hier jetzt erstmal der Code:
Ich hoffe ihr könnt mir weiterhelfen. Danke schonmal. LG von mir^^ |
||
|
|
| #3 (permalink) | |
|
Stammbenutzer
CD-R 80
Registriert seit: 17.02.2009
Fachbeiträge: 7.116
Abgegebene Danke: 7
Erhielt 1.105 Danke für 1.103 Beiträge
|
Kann keinen Fehler finden. Bist Du Dir sicher, dass Du die Komponente mit der Maus erwischt bzw. dass die Komponente die Größe und Lage hat die Du vermutest?
|
|
|
| #4 (permalink) | |||||||||
|
Benutzer
double
Themenstarter
Registriert seit: 18.10.2009
Fachbeiträge: 64
Abgegebene Danke: 2
Erhielt 2 Danke für 2 Beiträge
|
das ist schon der ganze code der Klasse, diese Elemente werden dann mit der folgenden Funktion in ein JPanel hinzugefügt. Dieses JPanel liegt dann in dem JFrame was als Hauptfenster dient. Ich poste am Ende mal alle Klassen, die ich zur Zeit verwende.
Funktion zum Hinzufügen:
So, und hier dann die kompletten Klassen: Field-Klasse:
GameField-Klasse:
Risiko-Klasse:
so, das ist jetzt erstmal ziemlich viel ![]() hoffe das hilft weiter. Danke |
||||||||
|
|
| #5 (permalink) | |
|
Stammbenutzer
Megabyte
Registriert seit: 10.08.2009
Fachbeiträge: 1.201
Abgegebene Danke: 23
Erhielt 166 Danke für 166 Beiträge
|
So wie ich das sehe, fügst du deine Fields nirgends dem Panel hinzu, also in
initFields() ist kein this.add( field ); Ich nehme an, dass daher keine MouseEvents ankommen.
__________________
Gruß, KrokoDiehl. |
|
|
| #6 (permalink) | |
|
Benutzer
int
Registriert seit: 15.10.2009
Fachbeiträge: 55
Abgegebene Danke: 1
Erhielt 2 Danke für 2 Beiträge
|
wo ist den der MouseListener(was machen die in all den anderen Klassen) in der Klasse Risiko?
Du willst doch, dass beim klicken auf die Componenten was passiert, oder?
__________________
MFG Geändert von Java@home (11.11.2009 um 10:18 Uhr) |
|
|
| #7 (permalink) | |
|
Benutzer
double
Themenstarter
Registriert seit: 18.10.2009
Fachbeiträge: 64
Abgegebene Danke: 2
Erhielt 2 Danke für 2 Beiträge
|
Danke für den Hinweis, das hab ich wirklich nicht bedacht.
Leider hat das auch nichts an der Nichtfunktionalität geändert. Die initFields sieht jetzt so aus. Ich beginne langsam an mir zu zweifeln... |
|
|
| #9 (permalink) | |||||
|
Benutzer
double
Themenstarter
Registriert seit: 18.10.2009
Fachbeiträge: 64
Abgegebene Danke: 2
Erhielt 2 Danke für 2 Beiträge
|
Ich weiß, dass ich da den MouseListener nicht hinzufüge. Das liegt daran, dass das meine erste Variante ist. Da wollte ich alle Fields durchgehen, da die in dem Vector gespeichert sind, und wenn das Field dann den Punkt beinhaltet wird dort etwas mit dem Field gemacht. Das ist aber sehr unperformant.
Der MouseListener um den es geht befindet sich in der Klasse Field:
Hier dann noch die Methoden des MouseListeners:
|
||||
|
|
| #11 (permalink) | |
|
Benutzer
double
Themenstarter
Registriert seit: 18.10.2009
Fachbeiträge: 64
Abgegebene Danke: 2
Erhielt 2 Danke für 2 Beiträge
|
Oh ich glaube ich hab den Fehler^^
ich hab meinem JPanel noch kein Null-Layout gegeben. Dadurch waren die Components jeweils nicht sichtbar gewesen. Danke trotzdem für eure Hilfe =)
__________________
Luftpiraten sind Passagiere, die Flugzeuge erst unterwegs chartern.
|
|
|
|
| Stichworte |
| eigene jcomponent , jcomponent , mouselistener |
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| JComponent übereinanderlegen | Nestor | AWT, Swing, JavaFX & SWT | 1 | 10.04.2008 14:20 |
| Frage zu MouseListener und speichern des Wertes (reflektion? | Gast | AWT, Swing, JavaFX & SWT | 6 | 28.09.2006 09:20 |
| Resize Problem bei JComponent | Robinson | AWT, Swing, JavaFX & SWT | 2 | 02.09.2006 13:57 |
| JFileChooser: das *.* Problem | Helian | AWT, Swing, JavaFX & SWT | 28 | 01.12.2005 07:50 |
| Lesezeichen |
|
|