该程序应该将用户输入的英里数转换为使用GUI界面的公里数。程序目前不编译。Java GUI出错的问题
aaaaa.java:10:错误:无效的方法声明;返回类型需要 公共CalcPanel(){ ^ 1错误
无论我寻找这种类型的程序我看到与该方法没有返回类型的例子。有任何想法吗?由于
下面是程序:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class aaaaa extends JFrame {
private JLabel messageLabel= new JLabel("Enter distance in miles");
private JTextField milesTextField = new JTextField(10);;
private JButton calcButton = new JButton("Calculate");
public CalcPanel() {
JPanel panel = new JPanel();
panel.add(messageLabel);
panel.add(milesTextField);
panel.add(calcButton);
calcButton.addActionListener(new CalcButtonListener());
}
public static void main(String[] args) {
JFrame frame = new CalcPanel();
frame.setTitle("M to Km Converter");
frame.setLocationRelativeTo(null);
frame.setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
class CalcButtonListener implements ActionListener { public void actionPerformed(ActionEvent e) {
String input = milesTextField.getText();
double kilometers = Double.parseDouble(input) * 1.6023;
JOptionPane.showMessageDialog(null, input + " miles is " + kilometers + " kilometers.");
}
}
}
使问题得到解决,但这里是另一回事。面板弹出,但我的messageLabel milesTextField calcButton不显示。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Aaaa extends JFrame {
private JPanel panel;
private JLabel messageLabel= new JLabel("Enter distance in miles");
private JTextField milesTextField = new JTextField(10);;
private JButton calcButton = new JButton("Calculate");
public Aaaa() {
JPanel panel = new JPanel();
panel.add(messageLabel);
panel.add(milesTextField);
panel.add(calcButton);
setVisible(true);
calcButton.addActionListener(new CalcButtonListener());
}
public static void main(String[] args) {
JFrame frame = new Aaaa();
frame.setTitle("M to Km Converter");
frame.setLocationRelativeTo(null);
frame.setSize(300, 150);
}
class CalcButtonListener implements ActionListener { public void actionPerformed(ActionEvent e) {
String input = milesTextField.getText();
double kilometers = Double.parseDouble(input) * 1.6023;
JOptionPane.showMessageDialog(null, input + " miles is " + kilometers + " kilometers.");
}
}
}
你为什么改变班级的名字?很有可能,如果这个*是一个任务,并且您可能会遇到麻烦,那么您可以从代码的正文中找到它们。 – Makoto
该课程必须以“Aaaauuuggghhhh城堡”命名。这就是纯净的灵魂可以找到圣杯的地方。 –
所以我继续前进,并将其回滚,因为这会使现有答案看起来非常奇怪。如果您还有其他问题要问,请随时这样做;不过,我强烈建议你在提问前自己对此进行一些调查。 – Makoto