java为什么会出现错误:不兼容的类型;无法将JButton转换为JTextfield
所以我得到了这个错误,我很困惑。我甚至不想那样做。。以下是我所拥有的:
import javax.swing.JFrame;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
public class Answerfinder extends JFrame {
private static final int WIDTH = 400;
private static final int HEIGHTH = 300;
private JLabel Ial, Ratelabel,earn1, earn2, earn3, earn4, earn5, earn10;
private JLabel equalabel;
private JTextField ratein,initialamin, earn1out, earn2out, earn3out, earn4out, earn5out, earn10out;
private JButton calculatebut;
private CalculateButtonHandler cbhandler;
public Answerfinder() {
// adding the labels
Ial = new JLabel("Enter your initial amount:",SwingConstants.RIGHT);
Ratelabel = new JLabel("Enter growth percentage (just numbers):",SwingConstants.RIGHT);
earn1 = new JLabel("Total by year 1:",SwingConstants.RIGHT);
earn2 = new JLabel("Total by year 2:",SwingConstants.RIGHT);
earn3 = new JLabel("Total by year 3:",SwingConstants.RIGHT);
earn4 = new JLabel("Total by year 4:",SwingConstants.RIGHT);
earn5 = new JLabel("Total by year 5:",SwingConstants.RIGHT);
earn10 = new JLabel("Total by year 10:",SwingConstants.RIGHT);
equalabel = new JLabel("Press this to calculate: ");
//adding the textfields
ratein = new JTextField();
initialamin = new JTextField();
earn1out =
//adding button
calculatebut = new JButton("Calculate");
cbhandler = new CalculateButtonHandler();
calculatebut.addActionListener(cbhandler);
// Sets title of program
setTitle("Exponential Growth Calculator");
// Sets size of frame, whether or not it's visible, and what do on close
setSize(WIDTH, HEIGHTH);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
// establishes container and sets the layout
Container pane = getContentPane();
pane.setLayout(new GridLayout (8,2));
pane.add(Ial);
pane.add(initialamin);
pane.add(Ratelabel);
pane.add(ratein);
pane.add(equalabel);
pane.add(calculatebut);
pane.add(earn1);
}
private class CalculateButtonHandler implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
double rate, initamount, returns1, returns2, returns3, returns4, returns5, returns10;
rate = Double.parseDouble(ratein.getText());
if (rate > 1) {
rate = (rate / 100) + 1;
} else {
rate = rate +1;
}
initamount = Double.parseDouble(initialamin.getText());
returns1 = initamount * Math.pow(rate, 1);
returns2 = initamount * Math.pow(rate, 2);
returns3 = initamount * Math.pow(rate, 3);
returns4 = initamount * Math.pow(rate, 4);
returns5 = initamount * Math.pow(rate, 5);
returns10 = initamount * Math.pow(rate, 10);
}
}
}
我正在制作一个程序,它将发现用户输入的数字呈指数增长。这是一门代数课程的额外学分项目。请忽略这些丑陋的代码,我是一个刚刚起步的高中生
# 1 楼答案
您似乎有一些写了一半的代码:
您应该完成那
earn1out =
行,或者删除它# 2 楼答案
您缺少赋值的右侧值(加上分号终止)
这导致变量
earn1out
被分配给aJButton
。应该是# 3 楼答案
我假设这是代码中未完成的一行:
这将混合到下一条语句中,即JButton初始化语句