Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » ActionListener » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen ActionListener
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
WI
unregistriert
ActionListener Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo ich soll ein Programm schreiben, das ein Textfeld1 hat, man gibt eine Temperatur in Celcius ein drückt einen Button, dann erscheinen die Celcius in Fahreneinheit umgerechnet in Textfeld2.
Das gleiche soll umgekehrt möglich sein.
Leider passt mein ActionListener wohl nicht, da einfach die Umrechnung nicht stattfindet.

Hier mal mein Code dazu.


import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class ConverterFinal extends JFrame
{
Container ContentPane= getContentPane();
ImageIcon icon = new ImageIcon("schmetterling_rosa_150.jpg");
JLabel bildLabel = new JLabel(icon);
JTextField TF1= new JTextField(10);
JTextField TF2= new JTextField(10);
JButton B1= new JButton("UMRECHNEN");

ConverterFinal()
{
ContentPane.setLayout(new FlowLayout(0));
ContentPane.add(TF1);
ContentPane.add(B1);
ContentPane.add(TF2);
ContentPane.add(bildLabel);

class ButtonEventHandler implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
if(event.getSource() == TF1)
{
double z1 = Double.parseDouble(TF1.getText());
double sum = z1*1.8+32;
TF2.setText(""+sum);
}

else if(event.getSource() == TF2)
{
double z1 = Double.parseDouble(TF2.getText());
double sum = z1/1.8-32;
TF1.setText(""+sum);
}}
ButtonEventHandler()
{
}
}

B1.addActionListener(new ButtonEventHandler());



setTitle("Umrechnung");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
public static void main(String[]args)
{
new ConverterFinal();
}
}

Wo liegt denn da mein Fehler?
28.10.2011 19:45
MaBa
Eroberer


Dabei seit: 26.04.2010
Beiträge: 55

RE: ActionListener Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo WI,

der Fehler liegt in der Fallunterscheidung

code:
1:
2:
3:
4:
if(event.getSource() == TF1)
//...
else if(event.getSource() == TF2)


Die Quelle des Events ist der Button und nicht eins der Textfelder. D.h. dein Listener arbeitet korrekt, aber keine der Prüfungen hat Erfolg, da wede dein TF1 noch dein TF2 das Event ausgelöst haben und damit passiert auch nichts.

Viele Grüße,
MaBa

__________________
Dipl.-Inform. Markus Barth
Wissenschaftlicher Mitarbeiter
Studiengänge Angewandte Informatik / Medieninformatik

Fachhochschule Trier
Umwelt-Campus Birkenfeld
03.11.2011 13:50 MaBa ist offline E-Mail an MaBa senden Beiträge von MaBa suchen Nehmen Sie MaBa in Ihre Freundesliste auf
WI
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Vielen Dank für die Antwort, hat mir sehr geholfen smile
04.11.2011 07:20
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » ActionListener