probs mit buttons & Listener

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
hallo,

ich habe zwei Probleme:

1. Mein JToggleButton funktioniert nicht! Irgendwie kann ich ihn nicht steuern, mit setSelected(boolean) und isSelected() scheint das nicht zu gehen, da der button IMMER isSelected == true ist, wenn man ihn anklickt.
Aber mein MouseListener muss ja unterschiedliche sachen machen, je nachdem ob er gerade aktiviert oder deaktiviert wird:

Code:
 JToggleButton pause = new JToggleButton();
    pause.addMouseListener(this);
    pause.setSelected(false);
    add(pause);

    public void mouseClicked(MouseEvent e) {

            if(pause.isSelected()){
                System.out.println("true, now switching to false");
                pause.setSelected(false);
            }
            else{
                System.out.println("false, now switching to true");
                pause.setSelected(true);
            }
    }

das Ergebnis ist IMMER "true, now switching to false". nur switcht er scheinbar nix. Es ist ja schon merkwürdig, das beim ersten Klick das rauskommt ,immerhin sag ich beim Instanziieren ja setSelected(false);
also... wie gehtn das?

Okay und mein 2.Problem:
Ich hab 2 Panels, auf einem ist ein Button mit einem Listener. Er funktioniert auf, allerdings wenn ich den Button klicke, funkioniert mien KeyListener im anderen Panel nicht mehr!
Hab schon einiges mit requestFocusInWindow() und setFocusable() usw versucht, kriegs aber nich hin :/

Hier der Aufbau meines Frames mit den 2 Panels:
Code:
// im konstruktor meines JFrames:

A_Panel apanel = new A_Panel()
add (apenal);

B_Panel bpanel = new B_panel()
add (bpenal);

pack();
setVisible(true);

Code:
// im Konstruktor des A_Panels - hier ist der KeyListener !!

setFocusable(true);
requestFocusInWindow();

addKeyListener(this);

Und der Konstruktor vom B_Panel, wo der Button ist, sieht halt genauso aus nur halt mit addMouseListener(this);

joa.. wie kann ich es machen dass sich der KeyListener nicht ausschaltet wenn ich was klick?

Danke
 
S

SlaterB

Gast
JToggleButton pause = new JToggleButton();

läßt vermuten, dass du im Konstuktor eine lokale Variable pause anlegst und in die GUI einfügst,
in dem MouseListener bearbeitest du dann einen anderen JToggleButton, die Exemplarvarable/ Klassenattribut pause?

allerdings sollte auch dieser dann zumindest switchen zwischen selected/ not selected..
poste ein vollständiges Programm

> wie kann ich es machen dass sich der KeyListener nicht ausschaltet wenn ich was klick?

da kann ich nicht weiterhelfen
 
G

Guest

Gast
Sorry hab wohl zuviel weggelassen. Es ist schon die richtige Variable, die er findet. Denke ich zumindest.
Hier mal der komplette Code:

Code:
public class InfoPanel extends JPanel implements MouseListener {

    private JToggleButton pause;

    public InfoPanel() {
        setPreferredSize(new Dimension(150, 600));
        setBackground(Color.LIGHT_GRAY);
        setLayout(null);

        play = new JButton("Play!");
        play.setBounds(20, 0, 70, 25);
        play.addMouseListener(this);
        add(play);

        pause = new JToggleButton("Pause");
        pause.setBounds(20, 30, 70, 25);
        pause.addMouseListener(this);
        pause.setSelected(false);
        add(pause);
    }

    public void mouseClicked(MouseEvent e) {
        if (e.getSource().equals(play)) {
                //...
        }
        
        else if(e.getSource().equals(pause)){
            
            if(pause.isSelected()){
                System.out.println("true, now switching to false");
                pause.setSelected(false);
            }
            else{
                System.out.println("false, now switching to true");
                pause.setSelected(true);
            }
        }
}

Und ich weiss dass mir schon mal wer gesagt hat, dass man dafür nen ActionListener nimmt, vielleicht sogar du marco ;) Aber wenn ich statt dem MouseListener nen ActionListener dranhäng und dann:

Code:
    public void actionPerformed(ActionEvent e) {
             
        if(pause.isSelected()){
                System.out.println("true, now switching to false");
                pause.setSelected(false);
            }
            else{
                System.out.println("false, now switching to true");
                pause.setSelected(true);
            }
    }

passiert genau das gleiche. Es ist einfach immer true.
 
S

SlaterB

Gast
naja, dein Listener wird doch wohl genau in dem Moment aktiv, in welchem du draufdrückst,

am Anfang ist der ToggleButton nicht selektiert,
durch den Klick wird er selektiert und der Listener findet ihn 1 ms als selektiert vor und setzt ihn wieder auf nicht selektiert

du hebst also mit deiner Aktion die normale Aktion sofort wieder auf
 
G

Guest

Gast
oh. ooooh. :oops:

naja das wusste ich nicht, dass der listener das automatisch umsetzt. danke ;)

aber kann mir noch wer mit dem anderen problem weiterhelfen? warum deaktiviert der mouse/actionlistener mein keylistener auf dem andren panel?
 
G

Guest

Gast
kann mir denn keiner helfen ? bitte, das ist jetzt noch das letzte problem in meinem projekt. und ich weiss nicht was ich machen soll damit key und mouselistener in beiden panels funtkionieren.

danke
 

L-ectron-X

Gesperrter Benutzer
Punkt 1: Lernst du auch aus dem, was man dir zeigt?
Wenn du mit einer Sache nicht klar kommst, weil es vielleicht nicht verständlich war, kann man doch noch mal nachfragen...

Punkt 2: Warum machst du einen neuen Thread für das gleiche Problem auf?
http://www.java-forum.org/de/topic64456_jtogglebutton.html

Anonymous hat gesagt.:
warum deaktiviert der mouse/actionlistener mein keylistener auf dem andren panel?
Vermutlich weil durch den Mausklick der Fokus auf eine andere Komponente gerichtet wird und damit das Panel den Fokus verliert.
 
G

Guest

Gast
ich hab nen neuen trhead aufgemacht weil eine neue frage drin war, und zu dem zeiptunkt schien es dass mir keiner mehr im anderen dazu antwortet.

also das mit dem fokus wurde mir schon mal gesagt, aber ich kann damit nicht so viel anfangen leider, weil ich nicht weiss wie man

1. rausfindet welche komponente dann den fokus hat
2. wie man den fokus ändert.

ich hab wie gesagt mit requestFocusInWindow() und so rumprobiert, ohne ergebnis.

also der code den ich oben gepostet habe zeigt ja wie das bei mir aufgebaut ist. vllt. könnt ihr mir sagen wo das problem liegt? oder falls das zu wenig info ist, dann kann ich auch gerne mehr psoten.

aber ich neige dazu erstmal wenig zu posten, was ich denke was für euch wichtig ist. weil ich möchte euch ungern zubombem mit hunderten zeilen code den ihr für das problem gar nciht braucht.
 
G

Guest

Gast
edit:

ich habs jetzt hinbekommen. ich weiss nicht genau ob nur eins oder alle der statements notwendig waren, zumindest hab ich nun beim Panel mit den Buttons alle Buttons explizit auf setFocusable(false) gestellt, sowie auch das Panel selbst, und beim Panel mit dem KeyListener alles auf setFocusable(true).

Ist also erledigt, danke für die hilfe

:toll:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M probs mit einbinden von bildern AWT, Swing, JavaFX & SWT 7
V jTalbe: Probs bei Icon Darstellung AWT, Swing, JavaFX & SWT 4
K JTable Renderer - Probs mit Icon AWT, Swing, JavaFX & SWT 3
B probs mit .getSelectedValues() bzw. type-cast AWT, Swing, JavaFX & SWT 8
E GUI-Probs AWT, Swing, JavaFX & SWT 3
XWing Basic JPanel mit 2 Buttons beutzen. AWT, Swing, JavaFX & SWT 10
jojoge Wie erstelle ich runde Buttons mit Farbe? AWT, Swing, JavaFX & SWT 1
berserkerdq2 Buttons und Shapes sehen ja nach Screengröße klein oder zu groß aus, jemand eine Idee, was man tun kann? AWT, Swing, JavaFX & SWT 1
H Swing Buttons erst nach Klick sichtbar AWT, Swing, JavaFX & SWT 13
volcanos SpringLayout mit zusätzlichen Buttons außerhalb des SpringLayout AWT, Swing, JavaFX & SWT 33
K Swing Buttons erst blinken lassen und dann abfragen, ob sie gedrückt worden sind AWT, Swing, JavaFX & SWT 2
Z Switch Case für Buttons AWT, Swing, JavaFX & SWT 8
O Swing JOptionPane.showOptionDialog - Wie kann ich Buttons größer machen AWT, Swing, JavaFX & SWT 10
R mehrere buttons mit forschleife kreieren und individuell bearbeiten AWT, Swing, JavaFX & SWT 1
Z Swing Kann man denn abstand zwischen zwei Buttons berechnen AWT, Swing, JavaFX & SWT 5
B JavaFX DropDown Menu mit ausführbaren Buttons AWT, Swing, JavaFX & SWT 1
VPChief Buttons Reagieren erst wenn ich Fenster minimiere AWT, Swing, JavaFX & SWT 4
ms_cikar Jbutton erzeugt neue Buttons AWT, Swing, JavaFX & SWT 2
K Buttons dynamisch erstellen (NetBeans) AWT, Swing, JavaFX & SWT 10
S Kreis vergrößern/verkleinern mit Buttons AWT, Swing, JavaFX & SWT 1
J JavaFX von einem Array aus Buttons herausfinden auf welcher geklickt wurde aus dem Array. AWT, Swing, JavaFX & SWT 1
xYurisha ActionListener Methoden Buttons zuweisen! AWT, Swing, JavaFX & SWT 16
xYurisha Aus einer Gui Buttons, Label und ProgessBars entfernen AWT, Swing, JavaFX & SWT 4
CptK Wieso wird nur ein Teil meiner Buttons angezeigt? AWT, Swing, JavaFX & SWT 1
J Ziehen eines Buttons im JPanel AWT, Swing, JavaFX & SWT 2
J Drag and Drop eines Buttons AWT, Swing, JavaFX & SWT 0
J TicTacToe Buttons AWT, Swing, JavaFX & SWT 14
J ActionListener bei Buttons AWT, Swing, JavaFX & SWT 14
DaCrazyJavaExpert Swing Extern den Text eines nicht fetsgelegten Buttons bekommen. AWT, Swing, JavaFX & SWT 12
T Swing Double Click bei Buttons in JTable AWT, Swing, JavaFX & SWT 9
C Buttons funtionieren nicht AWT, Swing, JavaFX & SWT 10
S SWT neues Fenster, buttons aus alten etc... AWT, Swing, JavaFX & SWT 0
G vorgefertigte Buttons oder neue Komponente mit MouseListener? AWT, Swing, JavaFX & SWT 0
Neumi5694 Sprache der Standard-Buttons AWT, Swing, JavaFX & SWT 7
Timo_neu_in_java Buttons Erstellen AWT, Swing, JavaFX & SWT 6
H JavaFX TableCell mit Buttons AWT, Swing, JavaFX & SWT 1
A Swing Programm funktioniert aber zwei Buttons werden angezeigt AWT, Swing, JavaFX & SWT 3
kilopack15 Buttons ohne Funktion AWT, Swing, JavaFX & SWT 2
S Keylistener reagiert bei Buttons nicht. AWT, Swing, JavaFX & SWT 8
S ActionListener für alle Buttons AWT, Swing, JavaFX & SWT 26
T Buttons auf Tablet viel kleiner als am PC AWT, Swing, JavaFX & SWT 0
S Buttons und TextField automatisch vergrößern AWT, Swing, JavaFX & SWT 8
R 2D-Grafik Buttons mit Slick2D und LWJGL AWT, Swing, JavaFX & SWT 2
J JavaFX Buttons mit Array erzeugen AWT, Swing, JavaFX & SWT 1
JG12111989 Buttons funktionieren nicht AWT, Swing, JavaFX & SWT 4
A Swing Buttons werden trotz setVisible nicht dargestellt AWT, Swing, JavaFX & SWT 14
M Buttons in JSplitPane hinzufügen AWT, Swing, JavaFX & SWT 6
X Swing Anwendung regaiert auf keine Buttons mehr wärend while(scanner.hasNextLine()) ausgeführt wird. AWT, Swing, JavaFX & SWT 4
T Durch klicken eines Buttons Klasse wechseln AWT, Swing, JavaFX & SWT 2
A Swing JPanel zeigt Buttons nicht an AWT, Swing, JavaFX & SWT 4
V Tastatur KeyListener für mehrere Buttons AWT, Swing, JavaFX & SWT 1
I JavaFX Langes drücken eines Buttons AWT, Swing, JavaFX & SWT 4
I JavaFX Buttons und TableView AWT, Swing, JavaFX & SWT 2
K Swing Durch Methode erzeugte Buttons ansteuern AWT, Swing, JavaFX & SWT 5
D Buttons werden nebeneinander angeordnet AWT, Swing, JavaFX & SWT 9
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
D JavaFX Dynamisch erzeugte Buttons sollen Code ausführen. AWT, Swing, JavaFX & SWT 2
D Buttons erscheinen nicht auf Frame AWT, Swing, JavaFX & SWT 2
M 4-Gewinnt mit Buttons AWT, Swing, JavaFX & SWT 1
Y Kann man Buttons in einem JFrame rund machen ? AWT, Swing, JavaFX & SWT 2
K Swing Keine Reaktion auf Tastatureingaben bei mehreren Buttons??? AWT, Swing, JavaFX & SWT 4
wolfgang63 JavaFX Transparenter Hintergrund aber sichtbare Buttons AWT, Swing, JavaFX & SWT 6
C Im ActionListener Buttons disablen, einen Thread starten, dann Buttons enablen AWT, Swing, JavaFX & SWT 2
gamebreiti auf usereingabe warten mit GUI(nur Labels, Buttons etc. keine Texteingaben) AWT, Swing, JavaFX & SWT 3
W Buttons verschieben AWT, Swing, JavaFX & SWT 3
R Swing Buttons werden nicht angezeigt AWT, Swing, JavaFX & SWT 4
P Buttons/Labels auf GUI positionieren AWT, Swing, JavaFX & SWT 2
X Swing setContentPane verdeckt mir alle Buttons Labels etc... AWT, Swing, JavaFX & SWT 14
H Taschenrechnerprojekt in Javafx - Frage zu den Buttons in FXML AWT, Swing, JavaFX & SWT 1
U Swing Beim Bedienen eines Buttons JFrame schließen AWT, Swing, JavaFX & SWT 2
A Radio Buttons sollen den Text der text Area bestimmen AWT, Swing, JavaFX & SWT 9
H org.eclipse.swt.Slider ohne Buttons AWT, Swing, JavaFX & SWT 1
U Buttons schräg implementieren AWT, Swing, JavaFX & SWT 4
X buttons aus externe klasse lesen? AWT, Swing, JavaFX & SWT 3
V Buttons sehen immer "active" aus AWT, Swing, JavaFX & SWT 6
K Event Handling 2 Buttons und Thread stop AWT, Swing, JavaFX & SWT 3
D Buttons erscheinen nicht auf dem zweiten Frame AWT, Swing, JavaFX & SWT 4
D Wie kann ich Buttons und Labels besser anordnen AWT, Swing, JavaFX & SWT 4
C Probleme mit Buttons und einem ActionListener AWT, Swing, JavaFX & SWT 2
A Swing bei Auswahl und klick eines JComboBox buttons die Klasse eines anderen Projekts aufrufen AWT, Swing, JavaFX & SWT 3
M Menü mit Buttons AWT, Swing, JavaFX & SWT 8
H Swing JTabbedPane: Zusätzliche Buttons neben den Tabs AWT, Swing, JavaFX & SWT 7
A Swing Focus der Radio Buttons + text bleibt gleich und gleichzeitige ausgabe zweier Objekte in 1. Fenster AWT, Swing, JavaFX & SWT 3
U Swing Buttons generieren AWT, Swing, JavaFX & SWT 19
G Swing Buttons in Layouts frei platzieren AWT, Swing, JavaFX & SWT 7
S Layouts, mehrere Buttons nebeneinander AWT, Swing, JavaFX & SWT 2
B Buttons auf JLabel? AWT, Swing, JavaFX & SWT 4
J ActionListener für Buttons AWT, Swing, JavaFX & SWT 3
1 Buttons in Kombination mit Linien AWT, Swing, JavaFX & SWT 3
K Aussehen des Buttons resetten AWT, Swing, JavaFX & SWT 4
C Verschiebbare "Buttons" in einer Tabelle AWT, Swing, JavaFX & SWT 3
A JButton - Klicks zählen auf mehreren Buttons AWT, Swing, JavaFX & SWT 2
H Swing Button Klick soll "Untermenü-Buttons" erzeugen AWT, Swing, JavaFX & SWT 2
dzim Toolbar - Problem bei enable/disable von Buttons AWT, Swing, JavaFX & SWT 6
E Netbeans: Buttons mit Label bzw. Rahmen unterlegen AWT, Swing, JavaFX & SWT 8
F Grafik mit Buttons versehen AWT, Swing, JavaFX & SWT 8
J JOptionPane mit zwei Buttons?! AWT, Swing, JavaFX & SWT 3
K Schachbrett mit buttons AWT, Swing, JavaFX & SWT 2
B Buttons entfernen / hinzufügen AWT, Swing, JavaFX & SWT 5
TheWhiteShadow Swing Buttons in Liste AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen


Oben