dimanche 22 février 2015

Bei Mouseover Grafik ändern, gutes Vorgehen gesucht

Hallo,



meine Gegebenheiten:

Ich habe einen Fontstil als Grafik -> ganz viele kleine .png Dateien

Ich habe einen Text, dieser wird mit dem Fontstil der png Dateien angezeigt

Ich habe ein Datenmodel



Dazu habe ich eine einfach Methode geschrieben, welche jedes Character im String durchgeht und dazu passend drawImage mit der entsprechenden .png Datei durchführt.

Das ganze klappt auch wunderbar und ist um einiges erweitert, wie dem Einfärben der Grafik usw..



Nun möchte ich ein Menü erstellen. Dort gibt es 6 Menüpunkte, welche vom Text mit der oben genannten Methode angezeigt werden müssen. Also mit der "Grafikschrift".

Für den normalen Text, färbe ich die "Grafikschrift" grün.

Soweit auch alles top.

Nun soll aber der Menüpunkt auch anklickbar sein und zu einem weiteren Menü führen.

Das würde ich über einen JButton machen der unsichtbar über dem Text liegt.



Was ich jetzt noch versuche ist, den Text mit einem Hover Effekt zu versehen, wenn ich über den unsichtbaren Button fahre, soll mir die "Grafikschrift" in weiß dargestellt werden.

Wie ich das mit dem Hover grundsätzlich bei einem JButton mache ist mir klar.



Der Text wird innerhalb von paintComponent meines JPanels mit einer static Methode als "Grafikschrift" erstellt.

Der Button wird auf dem JPanel angelegt und mit einem MouseListener versehen.



Ich würde nun hergehen und bei einem mouseEntered, respektiv mouseExited des Listener in mein Datenmodell einen Wert schreiben (z.B.) "datenbank.setf1Hovered(true)", respektiv (z.B.) "datenbank.setf1Hovered(false)"

und danach ein repaint() ausführen.



Im paintComponent würde ich nun ein


Java Code:






  1. if(datenbank.getf1Hovered)



  2. drawWhiteText;



  3. else



  4. drawGreenText;







erstellen.



Nun würde ich dazu gerne mal Meinungen hören zur Vorgehensweise oder wie ihr dies machen würdet.

Mit würde da noch einfallen den Text als ImageIcon zu rendern und dem JButton diesen dann per setIcon und setPressedIcon zuzuweisen. Diese Idee z.B. kam mir jetzt während des tippens dieses Artikels.





Bei Mouseover Grafik ändern, gutes Vorgehen gesucht

0 commentaires:

Enregistrer un commentaire