ActionListener problem

C

Chiqsaw

Gast
Hallo,
Ich hoffe ihr könnt mir Helfen.Wir haben gestern in der Schule den ActionListener kennengelert.ich habe mich als gleich drangesetzt ein programm zu schreiben.Ich weis es ist billig da ich es noch nicht wirklich kann aber ich lerne ja :)
Mein problem ist das ich bei disem Programm zwar den wert eingeben kann udn den button drücken kann doch es weder reagiert noch eine fehlermeldung ausgibt.(ich benutze Eclipse)
kann mir vllt jemand von euch verraten was ich falsch gemahct habe?
Java:
package gui;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;


public class Umrechner extends JFrame implements ActionListener
{
	private static final long serialVersionUID = 1L;
	private double euro, sf, dm, dol;
	private String s;
	
	private JTextField eingabe;
	private JLabel ausgabe,ausgabe2,ausgabe3;
	private JLabel eu;
	
	public Umrechner()
	{
		JButton a,b,c;
		setTitle("Umrechner");
		getContentPane().setBackground(Color.LIGHT_GRAY);
		this.setLayout(null);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		eingabe=new JTextField(" ",10);
		eingabe.setBounds(35,60,60,20);
		add(eingabe);
		eu = new JLabel ("Euro");
		eu.setBounds(100,45,50,50);
		add (eu);
		
		a=new JButton ("Schweizer Franken");
		a.setBounds(150,20,150,30);
		add (a);
		a.addActionListener(this);
		ausgabe =new JLabel("                           ");
		ausgabe.setBounds(310,10,100,50);
		add (ausgabe);
		
		b=new JButton ("Deutsche Mark");
		b.setBounds(150,55,150,30);
		add (b);
		b.addActionListener(this);
		ausgabe2 =new JLabel("                           ");
		ausgabe2.setBounds(310,55,100,50);
		add (ausgabe2);
		
		c=new JButton ("US-Dollar");
		c.setBounds(150,90,150,30);
		add (c);
		c.addActionListener(this);
		ausgabe3 =new JLabel("                           ");
		ausgabe3.setBounds(310,90,100,50);
		add (ausgabe3);
		
		
	}
	



	public void actionPerformed(ActionEvent e)
	{
		
		if (e.getSource().equals("Schweizer Franken"))
		{
			s=eingabe.getText();
			euro = Double.valueOf(s).doubleValue();
			sf=euro*1.52;
			sf=(double)Math.round(sf*100)/100;
			ausgabe.setText("SF: " + sf);
		}
		
		else if (e.getSource().equals("Deutsche Mark"))
        {
                s=eingabe.getText();
            	euro = Double.valueOf(s).doubleValue();
            	dm=euro*0.51;
            	dm=(double)Math.round(dm*100)/100;
            	ausgabe2.setText("DM: " + dm);
		}

		else if (e.getSource().equals("US-Dollar"))
		{
			s=eingabe.getText();
			euro = Double.valueOf(s).doubleValue();
			dol=euro*1.45;
			dol=(double)Math.round(dol*100)/100;
			ausgabe3.setText("Dollar: " + dol);
		}
	}
	
	public static void main(String[] args) 
	{
		Umrechner hauptfenster = new Umrechner();
		
		hauptfenster.setSize(600,200);
		hauptfenster.setLocation(500,200);
		hauptfenster.setVisible(true);
		
	}
}
 

eRaaaa

Top Contributor
Hi, an sich funktioniert das schon, nur deine if-Abfragen im Listener sind falsch!
Java:
  if (e.getSource().equals("Schweizer Franken"))

Du kannst dir ja mal mit System.out.println ausgeben, was dir e.getSource() liefert :)

Schreibe beispielsweise lieber:
Java:
public void actionPerformed(ActionEvent e) {
	JButton source = (JButton) e.getSource();

	if (source.getText().equals("Schweizer Franken")) {
//.......

Oder aber man setzt bei den Buttons einen actionCommand:
Java:
a.setActionCommand("schweiz");

dann kannst du im Listener auch sagen
Java:
if(e.getActionCommand().equals("schweiz"){

Gruß
 
C

Chiqsaw

Gast
Danke für die schnellen Antworten

habe das jetzt mal so porbiert.

Java:
package gui;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;


public class Umrechner extends JFrame implements ActionListener
{
	private static final long serialVersionUID = 1L;
	private double euro, sf, dm, dol;
	private String s;
	
	private JTextField eingabe;
	private JLabel ausgabe,ausgabe2,ausgabe3;
	private JLabel eu;
	
	public Umrechner()
	{
		JButton a,b,c;
		setTitle("Umrechner");
		getContentPane().setBackground(Color.LIGHT_GRAY);
		this.setLayout(null);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		eingabe=new JTextField(" ",10);
		eingabe.setBounds(35,60,60,20);
		add(eingabe);
		eu = new JLabel ("Euro");
		eu.setBounds(100,45,50,50);
		add (eu);
		
		a=new JButton ("Schweizer Franken");
		a.setBounds(150,20,150,30);
		add (a);
		a.setActionCommand("schweiz");
		ausgabe =new JLabel("                           ");
		ausgabe.setBounds(310,10,100,50);
		add (ausgabe);
		
		b=new JButton ("Deutsche Mark");
		b.setBounds(150,55,150,30);
		add (b);
		a.setActionCommand("deutsch");
		ausgabe2 =new JLabel("                           ");
		ausgabe2.setBounds(310,55,100,50);
		add (ausgabe2);
		
		c=new JButton ("US-Dollar");
		c.setBounds(150,90,150,30);
		add (c);
		a.setActionCommand("US");
		ausgabe3 =new JLabel("                           ");
		ausgabe3.setBounds(310,90,100,50);
		add (ausgabe3);
		
		
	}
	



	public void actionPerformed(ActionEvent e)
	{
		
		if(e.getActionCommand().equals("schweiz"))
		{
			s=eingabe.getText();
			euro = Double.valueOf(s).doubleValue();
			sf=euro*1.52;
			sf=(double)Math.round(sf*100)/100;
			ausgabe.setText("SF: " + sf);
		}
		
		if(e.getActionCommand().equals("deutsch"))
        {
                s=eingabe.getText();
            	euro = Double.valueOf(s).doubleValue();
            	dm=euro*0.51;
            	dm=(double)Math.round(dm*100)/100;
            	ausgabe2.setText("DM: " + dm);
		}

		if(e.getActionCommand().equals("US"))
		{
			s=eingabe.getText();
			euro = Double.valueOf(s).doubleValue();
			dol=euro*1.45;
			dol=(double)Math.round(dol*100)/100;
			ausgabe3.setText("Dollar: " + dol);
		}
	}
	
	public static void main(String[] args) 
	{
		Umrechner hauptfenster = new Umrechner();
		
		hauptfenster.setSize(600,200);
		hauptfenster.setLocation(500,200);
		hauptfenster.setVisible(true);
		
	}
}

doch es hat nicht geklappt.
es funtioniert genau das selbe nicht.
 

eRaaaa

Top Contributor
Ne ne so nicht :D

Das [c]a.addActionListener(this);[/c] musst du natürlich belassen :) Das darfst du nicht wegnehmen :)

Desweiterne hast du beim Copy&Paste vergessen die Variable zu ändern
[c]a.setActionCommand("US");[/c] <-- a??
 
C

Chiqsaw

Gast
danke is mir danna uch aufgefallen mit dem copy and paste fehler...ich habe ind er zwischenzeit mal die andere variante
Java:
public void actionPerformed(ActionEvent e) {
    JButton source = (JButton) e.getSource();
 
    if (source.getText().equals("Schweizer Franken")) {
//.......

probiert udn diese klappt perfekt! danke nochmal(ich werde die andere methode(die du jetzt gerade angegeben hast aber auchnochmal probieren)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Problem mit KeyListener in kombination mit dem ActionListener Java Basics - Anfänger-Themen 4
F Habe ein problem mit dem ActionListener Java Basics - Anfänger-Themen 3
L Problem bei Java-ActionListener Java Basics - Anfänger-Themen 4
Voreck Actionlistener problem Java Basics - Anfänger-Themen 1
R Problem mit ActionListener für Buttons Java Basics - Anfänger-Themen 5
D Erste Schritte Buttons mit actionlistener Problem Java Basics - Anfänger-Themen 3
D Problem mit ausgelagertem Actionlistener Java Basics - Anfänger-Themen 4
D KeyListener und ActionListener Problem Java Basics - Anfänger-Themen 6
W Problem mit FileWriter / ActionListener Java Basics - Anfänger-Themen 6
A ActionListener im JMenu - Problem Java Basics - Anfänger-Themen 2
H Bewegtes Bild im ActionListener [Problem] Java Basics - Anfänger-Themen 12
Luk10 Problem mit ActionListener Java Basics - Anfänger-Themen 6
C ActionListener problem beim starten von programmen Java Basics - Anfänger-Themen 3
Screen Problem mit der Syntax bei ActionListener Java Basics - Anfänger-Themen 3
M Problem bei Methodenaufruf aus ActionListener Java Basics - Anfänger-Themen 5
S [GUI] Problem mit ActionListener Java Basics - Anfänger-Themen 3
M Problem mit ActionListener , switch-Anweisung und Objekt Java Basics - Anfänger-Themen 2
K ActionListener-Problem mit static Java Basics - Anfänger-Themen 6
M Problem mit ActionListener Java Basics - Anfänger-Themen 4
E ActionListener Java Basics - Anfänger-Themen 4
U Eigenschaft eines JTextfiels per ActionListener ändern... Java Basics - Anfänger-Themen 2
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
C JButton reagiert nicht auf actionListener Java Basics - Anfänger-Themen 15
H Eine Methode über Actionlistener beenden Java Basics - Anfänger-Themen 8
J Array Actionlistener Java Basics - Anfänger-Themen 9
J ActionListener von JCheckBox im Knoten von JTree funktioniert nicht Java Basics - Anfänger-Themen 2
P Erste Schritte ActionListener Java Basics - Anfänger-Themen 2
J Erste Schritte Actionlistener für tbar/ JButton Java Basics - Anfänger-Themen 15
krgewb ActionListener Java Basics - Anfänger-Themen 1
L Zugriff auf Attribute eins Objekts über ActionListener Java Basics - Anfänger-Themen 4
T Konsolenscanner startet nicht durch Aufruf von Actionlistener Java Basics - Anfänger-Themen 4
F ActionListener mit Files etc Java Basics - Anfänger-Themen 12
N Probleme mit dem ActionListener Java Basics - Anfänger-Themen 4
CptK Auf ActionListener von anderer Klass aus zugreifen Java Basics - Anfänger-Themen 5
F Mehrere Buttons mit einem ActionListener abdecken Java Basics - Anfänger-Themen 24
U ActionListener mit JMenuItems verknüpfen Java Basics - Anfänger-Themen 1
S in ActionListener auf Eingabe aus anderem Frame warten Java Basics - Anfänger-Themen 2
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
D Einen Wert unter einen ActionListener weitergeben Java Basics - Anfänger-Themen 1
T Übernahme einer Variablen im ActionListener/ActionEvent Java Basics - Anfänger-Themen 2
JavaNewbie2.0 ActionListener Java Basics - Anfänger-Themen 11
G Im ActionListener eine "äußere" Variable verändern Java Basics - Anfänger-Themen 13
T Fehler beim ActionListener Java Basics - Anfänger-Themen 2
M public static int in ActionListener Java Basics - Anfänger-Themen 6
S actionlistener timer Java Basics - Anfänger-Themen 9
J Interface ActionListener in eigener Klasse Java Basics - Anfänger-Themen 27
P aus ActionListener auf HauptFrame zugreifen Java Basics - Anfänger-Themen 4
A Klassen Bool Actionlistener Java Basics - Anfänger-Themen 2
K Methoden ActionListener wird übersprungen Java Basics - Anfänger-Themen 3
S actionlistener Java Basics - Anfänger-Themen 29
S ActionListener und Statische Variablen Java Basics - Anfänger-Themen 4
J ActionListener Java Basics - Anfänger-Themen 5
A ActionListener Java Basics - Anfänger-Themen 9
Z ActionListener wird nicht erkannt? Java Basics - Anfänger-Themen 5
T ActionListener Source vergleichen Java Basics - Anfänger-Themen 8
T Frage zum ActionListener Java Basics - Anfänger-Themen 5
R ActionListener mit for Schleife füllen. Java Basics - Anfänger-Themen 4
K Button's mit versch. Aufgaben/ActionListener Java Basics - Anfänger-Themen 12
S KeyListener/ActionListener/paint()/repaint() Java Basics - Anfänger-Themen 3
I ActionListener reagiert nicht Java Basics - Anfänger-Themen 6
N Probleme mit ActionListener und Logischer Abfrage Java Basics - Anfänger-Themen 4
S JButton mit ActionListener Java Basics - Anfänger-Themen 5
S ActionListener, Methoden und Variablen Java Basics - Anfänger-Themen 4
X Variablen Actionlistener | Variablen-namen Java Basics - Anfänger-Themen 5
G ActionListener implementieren Java Basics - Anfänger-Themen 12
T Erste Schritte Berechnete Variable im ActionListener zurückführen Java Basics - Anfänger-Themen 6
D Panel sichtbar/unsichtbar machen im ActionListener Java Basics - Anfänger-Themen 3
U JFrame durch ActionListener erweitern Java Basics - Anfänger-Themen 4
M Button , actionlistener Java Basics - Anfänger-Themen 11
P Erste Schritte JTable mit Daten aus Acces DB füllen und Actionlistener einsetzen Java Basics - Anfänger-Themen 29
M Actionlistener Java Basics - Anfänger-Themen 9
M Klassen Durch den ActionListener das GUI einer anderen Klasse verändern Java Basics - Anfänger-Themen 8
T NullPointerException im ActionListener Java Basics - Anfänger-Themen 3
C Erste Schritte GUI - ActionListener - Exception Nullpointer Java Basics - Anfänger-Themen 5
Kenan89 ActionListener in eigene Klasse Java Basics - Anfänger-Themen 8
E JMenu ActionListener reagiert nicht? Java Basics - Anfänger-Themen 6
V ActionListener in einer for-Schleife Java Basics - Anfänger-Themen 2
S Erste Schritte ActionListener auf Buttons einrichten Java Basics - Anfänger-Themen 3
M Variablen Variable lässt sich durch ActionListener nicht ändern Java Basics - Anfänger-Themen 5
P ActionListener Action Event Java Basics - Anfänger-Themen 5
L ActionListener zerschießt AnchorLayout Java Basics - Anfänger-Themen 8
D ActionListener braucht zwei Klicks auf Button??? Java Basics - Anfänger-Themen 2
M Methoden Timer in ActionListener aufrufen Java Basics - Anfänger-Themen 2
Y Actionlistener passt nicht zu Dataset Java Basics - Anfänger-Themen 6
F actionListener Java Basics - Anfänger-Themen 3
T ActionListener auslagern Java Basics - Anfänger-Themen 14
S Actionlistener funktionieren nicht in der .jar Java Basics - Anfänger-Themen 9
E ActionListener abwarten lassen? Java Basics - Anfänger-Themen 11
E ActionListener in anderer Klasse erkennen Java Basics - Anfänger-Themen 13
H ActionListener Verbesserung möglich? (This) Java Basics - Anfänger-Themen 3
E ActionListener erkennt instanz nicht Java Basics - Anfänger-Themen 9
V ActionListener bei vielen Modulen Java Basics - Anfänger-Themen 3
J ActionListener Java Basics - Anfänger-Themen 2
T JLabel durch ActionListener ändern Java Basics - Anfänger-Themen 4
S ActionListener Java Basics - Anfänger-Themen 4
U actionListener - eine Kleine Frage Java Basics - Anfänger-Themen 7
K Actionlistener Java Basics - Anfänger-Themen 7
M ActionListener außerhalb des EDT ausführen Java Basics - Anfänger-Themen 2
M ActionListener reagiert nicht Java Basics - Anfänger-Themen 4
N ActionListener + GUI Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben