什么';我的Java代码有什么问题?

什么';我的Java代码有什么问题?,java,awt,Java,Awt,我正在显示我的代码;我无法在单击提交按钮时显示输出。起初,我不能在我的内部类中使用局部变量,但当我搜索时,有人说用它来使用final。我做了,但仍然没有得到任何输出这是这个按钮背后的简单公式 import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.Win

我正在显示我的代码;我无法在单击提交按钮时显示输出。起初,我不能在我的内部类中使用局部变量,但当我搜索时,有人说用它来使用
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);
    }
}

您不希望在构建之后立即获得
Ft
小部件的值,是吗?你想知道,当按钮被点击时会有什么,对吗?所以,移动

String sFt=Ft.getText()

将行插入到动作侦听器中

您不希望在构建之后立即获得
Ft
小部件的值,是吗?你想知道,当按钮被点击时会有什么,对吗?所以,移动

String sFt=Ft.getText()
final String sFt=Ft.getText();
将行插入到动作侦听器中

final String sFt=Ft.getText();
这里的问题是在用户输入任何文本之前,从字段中指定值

在触发操作事件时,从字段中获取文本,而不是将字符串设为最终文本

虽然我希望这是一个测试程序,但我建议您自己创建一个自定义面板(一个从JPanel扩展而来的类),使表单元素成为私有成员。从那里你将大大简化你的设计,减少你的问题

这里的问题是在用户输入任何文本之前,从字段中指定值

在触发操作事件时,从字段中获取文本,而不是将字符串设为最终文本

虽然我希望这是一个测试程序,但我建议您自己创建一个自定义面板(一个从JPanel扩展而来的类),使表单元素成为私有成员。从那里,您将大大简化设计并减少问题

此外,
pack()
您的框架并调用
setVisible()
最后:

另外,
pack()
您的帧并调用
setVisible()
last:


谢谢,伙计,我现在开始工作了:D,我确实明白我错在哪里了。汉克斯,伙计,我现在开始工作了:D,我确实明白我错在哪里了