Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Java » ActionListener gibt nichts aus

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
13.03.2019, 01:00 Uhr
Robert93



Hallo Allerseits,

ich arbeite mich gerade in Java ein und wollte zunächst ein Button erstellen, der beim betätigen einen String ausgibt. Folgendermaßen sieht es aus:

Die Main:


Code:
import java.awt.Color;
import java.util.Scanner;

import javax.swing.*;

public class Main{
    

    static JButton button;
    
    public Main() {
    
        //==============Fenster================
        
         JFrame meinJFrame = new JFrame("Mein Button");
            meinJFrame.setSize(500, 500);
            meinJFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            meinJFrame.setLocationRelativeTo(null);
            meinJFrame.requestFocus();
        
        //==============Panel1==============
        
            JPanel panel = new JPanel();
            panel.setLayout(null);            
        //=============Button1================
    
            // JButton mit Text "Drück mich" wird erstellt
            JButton button = new JButton("Drück mich");
    
            button.setBounds(180, 200, 150, 40);    
            button.setFocusPainted(false);                      
            button.setBorder(BorderFactory.createLineBorder(Color.BLACK));
            button.addActionListener(new ActionHandler());
            
            // JButton wird dem Panel hinzugefügt
            panel.add(button);

            meinJFrame.add(panel);
    
            meinJFrame.setVisible(true);    //Immer ganz zum Schluss, da sonst nachkommende Elemente nicht gezeichnet werden
    
          
            
            
    }
    
    
    
    public static void main(String[] args) {
        
        new Main();
        
    }
}



und der ActionHandler:


Code:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ActionHandler implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent e) {            
        if(e.getSource()== Main.button) {                    //Damit ueberprueft man, ob der button gedrueckt wurde.
            System.out.println("Ich wurde gedrueckt");

        }
        
    }

    
}



Problem ist jedoch, dass wenn ich auf den Button klicke nichts passiert. Woran kann das liegen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.03.2019, 14:01 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hi,

ich würde die ganze Sache direkt "inline" erledigen:


Code:
button.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            System.out.println("Ich wurde gedrueckt");
        }
    } );



dann sparst du dir auch die statische JButton variable, welche so definitiv schlechter stil (no reusability) ist. Evtl löst das dann auch das Ausgabeproblem.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Java ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: