JButton - "pressed" bleibt

Boreallis

Mitglied
Hey,

habe eine ToolBar mit JButtons und Separators drauf.
Wenn ich nun einen der Buttons anklicke, bleibt dieser im "angeklickt" Zustand..
Gibt es eine Methode, um das wieder auf "normal" zu setzen?
 
Ein normaler JButton? Der bleibt nicht im gedrückten Zustand (es sei denn die GUI hat keine Möglichkeiten neu zu zeichnen weil du sie durch eine andere Aktion blockierst , Beispiel: du hast dme JButton einen ActionListener angehängt und fürhst dort eine längere Aktion aus - die musst du auf einen anderen Thread bringen dann!)
Wenn meine Vermutung nicht zutrifft, zeig mal ein wenig Code
 
Hmm.. okay.. also:
Das Programm, das ich schreibe, ist ein Plugin.. für den EJE (is wohl nich so bekannt^^) .. auf jeden Fall hab ich da meine Oberfläche und durch den Klick sollen JUnit Tests ausgeführt werden und die Ergebnisse ausgegeben werden.

Das doofe dabei ist, dass das mit den Actions da etwas komisch läuft:
Java:
final Action startAction = new EJEAction(JUnitPlugin.class, "junit.start"){
			@Override
			public void actionPerformed (ActionEvent act)
			{
        		junitStartButtonAction = new JUnitStartButtonAction();
			}

...

JButton startButton = new JButton(startAction);
		};

Das ist alles, was ich beim Button momentan habe.
junit.start.name=
junit.start.shortdescription=Test ausführen
junit.start.smallicon=run_junit24.png


Hilft das was? 🙁

€dit: Hab auch noch einen anderen Button.. "refresh". Bei dem ist es genauso! Bleibt eingedrückt.. obwohl da ja "wirklich nur" eine winzige Aktion ausgeführt wird.
Wenn der eine Button dann angeklickt wird, wird der andere "normal".
 
Zuletzt bearbeitet:
Java:
            @Override
            public void actionPerformed (ActionEvent act)
            {
                        new Thread(){
                                    public void run(){
                                                junitStartButtonAction = new JUnitStartButtonAction();
                                    }
                        }.start();
               
            }
 
Also so eingebaut?
Leider kein Unterschied, wenn ich das richtig eingebaut hab.

Java:
final Action startAction = new EJEAction(JUnitPlugin.class, "junit.start"){
           @Override
            public void actionPerformed (ActionEvent act)
            {
                        new Thread(){
                                    public void run(){
                                                junitStartButtonAction = new JUnitStartButtonAction();
                                    }
                        }.start();
               
            }
...
 
JButton startButton = new JButton(startAction);
        };
 

Zurück
Oben