好的,这就是我得到的。一切都完全有效,除了每当我去转换它,我的答案标签弹出0.0,所以我知道它至少解析双从某处。我只是不知道它是否从输入中获得用于将我的变量设置为我的标签的公式中的数字。解析来自JTextField的用户输入的问题
框架:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Prog8Frame extends JFrame {
private JLabel icon;
private JLabel temperLab;
private JLabel fahr;
private static JTextField input;
private JButton convert;
private JLabel answer;
private JLabel degC;
public Prog8Frame() {
super("Prog 8");
setLayout (new FlowLayout());
Icon thermometer = new ImageIcon(getClass().getResource("thermometer.png"));
icon = new JLabel(thermometer);
add(icon);
temperLab = new JLabel("Temperature");
add(temperLab);
fahr = new JLabel("Fahrenheit");
add(fahr);
input = new JTextField(7);
add(input);
convert = new JButton("Convert");
add(convert);
convert.addActionListener(new ButtonHandler());
answer = new JLabel();
add(answer);
degC = new JLabel("degrees Celsius");
add(degC);
}
private class ButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent click) {
String strInput = input.getText();
double fahren = Double.parseDouble(strInput);
double degCel = ((fahren - 32)*(5/9));
answer.setText("" +degCel);
}
}
}
测试仪:
import javax.swing.JFrame;
public class Prog8 {
public static void main(String[] args) {
Prog8Frame Prog8 = new Prog8Frame();
Prog8.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Prog8.setSize(300, 300);
Prog8.setVisible(true);
}
}
完全不同的事情,你应该明确地将一个在数(5/9)兼作((双)5/9) –
这有绝对** **没有跟Eclipse和全部与核心Java有关。删除标签并在标题中提及。你不妨责怪你正在使用的电脑品牌。 –