私は自分のコードを示しています。送信ボタンのクリック時に出力を表示するのに問題があります。最初は、インナークラスでローカル変数を使用できませんでしたが、検索すると、誰かがそれを使用するfinal
と言いました。私はそうしましたが、それでも出力が得られません。これはこのボタンの背後にある単純な式です。
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JOptionPane;
public class FtoC {
public static void main(String[] args) {
Frame frm = new Frame();
Label lb = new Label("Calculater");
frm.setSize(500, 300);
frm.setVisible(true);
frm.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
Panel obj = new Panel();
Panel obj2 = new Panel();
Label F = new Label("F");
final TextField Ft = new TextField(10);
Label C = new Label("C");
TextField Ftc = new TextField(10);
obj.setLayout(new GridLayout(1, 1));
obj.add(F);
obj.add(Ft);
obj.add(C);
obj.add(Ftc);
final String sFt = Ft.getText();
Button submit = new Button("Calculate");
submit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
double Ftn = Double.parseDouble(sFt);
double result = (Ftn - 32) * 5 / 9;
//System.out.println(Ft);
JOptionPane.showMessageDialog(null, result);
}
});
obj.add(submit);
obj2.add(obj);
frm.add(obj2, BorderLayout.NORTH);
}
}