私は、Javaに新たなんだと私はそれが摂氏に を変換し、温度と出力のユーザー 入力にかかる 簡単な初心者のプログラムを作成しようとしています。私は何かを間違ったものにしていると思う。 リスナには出力があるので、 は常にゼロだからだ。リスナーとアクションイベントで私が間違ったことを本当に確信していません。 のJavaのSwing/JFrameのリスナー
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);
}
ああ。私は完全にそれを逃した。ありがとう、それは0を表示していたロジックだけでした。 –
@MichaelFogarty、そのため、計算の値を表示するような基本的なデバッグを使用する必要があります。それは、推測の代わりに問題がどこにあるかを絞り込むのに役立ちます。 – camickr
私はできるだけ早く答えを受け入れます。ありがとう! –