gpt4 book ai didi

java - 我的 Java 代码出了什么问题?

转载 作者:行者123 更新时间:2023-12-01 19:00:05 26 4
gpt4 key购买 nike

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

最佳答案

final String sFt=Ft.getText();

这里的问题是您在用户输入任何文本之前从字段中分配值。

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

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

关于java - 我的 Java 代码出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12552440/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com