Ich bin neu in Java und ich versuche, ein einfachen Anfänger Programm zu machen, die Eingabe der Temperatur und gibt sie in Celsius umgerechnet in den Nutzer entsprechen. Ich denke, ich habe etwas falsch angeschlossen mit den Zuhörern obwohl, weil es eine Ausgabe gibt, aber ist es immer Null. Ich bin mir nicht sicher, was ich falsch gemacht habe mit den Listenern und den Aktionsereignissen.Java Swing/JFrame Hörer
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class TemperatureConversionJFrame extends JFrame{
private final JTextField temperatureF;
private final JLabel result;
public int fahrenheit = 0;
public TemperatureConversionJFrame(){
super("Celsius Conversion");
setLayout(new FlowLayout());
temperatureF = new JTextField("Enter temperature in fahrenheit to be converted");
add(temperatureF);
result = new JLabel("Result in Celsius");
add(result);
TextFieldHandler handler = new TextFieldHandler();
temperatureF.addActionListener(handler);
}
private class TextFieldHandler implements ActionListener{
@Override
public void actionPerformed(java.awt.event.ActionEvent evt){
int F;
int results;
F = Integer.parseInt(temperatureF.getText());
results = 5/9 * (F - 32);
result.setText(String.valueOf(results));
}
}
import javax.swing.JFrame;
public class TemperatureConversionJFrameTest
{
public static void main(String[] args)
{
TemperatureConversionJFrame temperatureConversionJFrame = new TemperatureConversionJFrame();
temperatureConversionJFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
temperatureConversionJFrame.setSize(275, 100);
temperatureConversionJFrame.setVisible(true);
}
Ah. Das habe ich komplett vermisst. Danke, es war nur die Logik, die es 0 angezeigt hatte. –
@MichaelFogarty, Deshalb sollte grundlegende Debugging wie die Anzeige der Wert von Berechnungen verwendet werden. Es hilft Ihnen, einzuschränken, wo das Problem liegt, anstatt zu raten. – camickr
Ich werde die Antwort akzeptieren, sobald es mir erlaubt. Vielen Dank! –