JAVA JButton

bcmIT

Cadet 4th Year
Dabei seit
Sep. 2012
Beiträge
111
#1
Hei Zusammen

Ich hab eine Frage ich hab auf ein JButton ein Bild geladen.
Danach habe ich diesen mit

Code:
		       vbutton1.setOpaque(false);
		       vbutton1.setBackground(new Color(0,0,0,0));
transparent gemacht.

Wie kann ich nun machen das er auch beim Draufklicken transparent wird. Momentan ist er in einem leichten blau Ton...

Gegoogelt hab ich schon aber nichts gefunden-.-

Vielen Dank
 

Musicon

Lieutenant
Dabei seit
Okt. 2011
Beiträge
805
#2
Ein Actionlistener verwenden und diesen überschreiben mit einer farbe deiner wahl.
 
Dabei seit
Apr. 2006
Beiträge
3.337
#3
Wie Muscion schon geschrieben hat Actionlistener benutzen. Dieser wird an den Button "gebindet" und wartet darauf, dass die entsprechende Aktion ausgelöst wird und führt daraufhin entsprechende Aktionen durch.
 

sergio86

Cadet 4th Year
Dabei seit
März 2007
Beiträge
115
#4
Bei Swing bin ich mir nicht ganz sicher aber normalerweise so:

Code:
vbutton1.setOnAction(new EventHandler<ActionEvent>(){
       public void handle (ActionEvent ae){
       //Hier muss rein, was passiert nach dem Klick
       }
});
mfg sergio
 

Musicon

Lieutenant
Dabei seit
Okt. 2011
Beiträge
805
#5
Code:
NAME.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
               vbutton1.setBackground(new Color(0,0,0,0));
        }
      });
Bin mir nicht ganz sicher, ob du nicht auchnoch festlegen musst, dass es nur solange passiert wie der cursor auch auf dem button ist. (damit die farbe wieder zurück springt)
Das kriegst du aber ebenfalls mit Actionlistener hin. im Prinzip ist es die selbe ablauflogik!
musst dich mal in der Java API umschauen!
 
Zuletzt bearbeitet:
Dabei seit
Aug. 2008
Beiträge
123
#6
Ich habe das immer so gesehen bei Swing:
Code:
button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        //Call method or do something else
    }
});
Man nutzt also anonyme innere Klassen.

EDIT: zu spät ^^
 
Top