[Java] ActionListener Problem

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Sniper278, 14. Oktober 2007 .

Schlagworte:
  1. 14. Oktober 2007
    ActionListener Problem

    Hallo!

    Habe folgendes Problem:
    Ich hab einen Button erstellt, der ein Dialog öffnen soll. Im Skript befinden sich ein Textfeld und das was man dort reinschreibt soll anschließend nochmal im Dialogfeld stehen, quasi als Bestätigung. Nur leider kann ich bei der Programmierung des ActionListeners nicht auf das Textfeld "drausen" zugreifen.

    Code:
    ok_btn.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent e) {
     Component comp = (Component) e.getSource();
     JDialog d = new JDialog();
     d.setSize(200,100);
     
     JPanel pane = new JPanel();
     
     JLabel label = new JLabel();
     pane.add(label);
     
     d.add(pane);
     d.setVisible(true);
     );
     }
     });
    Wäre nett wenn mir jemand helfen könnte.

    mfg
    sniper278
     
  2. 15. Oktober 2007
    AW: ActionListener Problem

    hhmm wenn du den ActionListener mit dem Button addest dann heißt es:
    button.addActionListener(this);

    und dann kommen deine routinen, vllt. hast das this vergessen?
     
  3. 15. Oktober 2007
    AW: ActionListener Problem

    Hm, ist glaub ein objekt, bzw. variablenproblem. du musst das textfeld in der klasse definieren, nicht aufs frame.

    mfg swissmaster
     
  4. 15. Oktober 2007
    AW: ActionListener Problem

    Mach das TextField als Instanzvariable, nicht als lokale, dann gehts. Aber ich würd der Übersichtlichkeit wegen den Actionlistener nicht direkt ins addActionListener quetschen, sondern es machen wie unix geschrieben hat:
    Code:
    public class Frm extends JFrame implements ActionListener
    {
     private JButton btn;
     private JTextField txt;
     public Frm()
     {
     Button ok_btn = new Button();
     
     ok_btn.addActionListener(this);
     }
    
     public void actionPerformed(ActionEvent e)
     {
     JOptionPane.showMessageDialog(this, txt.getText());
     }
    }
    Oder gleich ne eigene Klasse fürn Listener
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.