gpt4 book ai didi

java - 通过 GUI java 将用户输入添加到对象参数

转载 作者:行者123 更新时间:2023-12-01 10:49:56 25 4
gpt4 key购买 nike

我正在尝试创建一个程序,该程序将从 JTextField 获取用户输入,并在单击 JButton 后将该输入添加到 CurrentAccount 类的对象中。到目前为止,我已经能够想出这段代码;

jButton1.addActionListener(new ActionListener() {    
@Override
public void actionPerformed(ActionEvent e)
{


//Execute when button is pressed
String currentValue = jTextField1.getText() ;
int val = Integer.parseInt(currentValue);
balance = val;
theAccount = new CurrentAccount(balance);
System.out.println(theAccount.myBalance);



}
});

但我在 theAccount = new CurrentAccount(balance) 行中收到错误。另外,我还在方法之外实例化了 theAccount,因为我需要它作为 SavingsAccount 类的对象,因为它是它们继承的抽象类 Account 的对象。

如果有帮助,我的 CurrentAccount 代码如下;

public class CurrentAccount extends Account
{
private int myBalance;
private final ControlPanel myPane;


private int balance;

public CurrentAccount(ControlPanel myPane)
{
// balance= myBalance;
myBalance = myPane.getDimension();
this.myPane=myPane;
// //super(balance);
//if (100 >= myPane) throw new IllegalArgumentException
//("A Savings Account can not have a balance of less than £100, you entered" + balance);
}

对此的任何帮助将不胜感激。

最佳答案

此问题和此代码存在多个问题。首先,您的编译错误消息已指出:

"incompatible types: int cannot be converted to ControlPanel"

此错误消息隐藏在评论中,不是您主要问题的一部分,因此许多人很难看到。今后请避免这样做,而应将其作为您问题的突出部分。

错误消息准确地告诉您出了什么问题 - 您正在尝试创建一个新的 CurrentAccount 对象,但将 int 传递到其构造函数中:

theAccount = new CurrentAccount(balance);

但是构造函数已被定义为不接受 int,而是接受 ControlPanel 对象:

public CurrentAccount(ControlPanel myPane) {

通常我会说,您要么需要更改构造函数以采用 int,要么更改调用方式以便仅传入 ControlPanel 参数 - 以最有意义的方式为准。但我认为两者在这里都不合适。我猜测(我们还不能肯定地说,因为我们对您的整体程序结构还不够了解)CurrentAccount 实例已经存在,并且您不需要从头开始创建一个新实例,而是将想要将余额信息传递到此实例中,可能使用 setBalance(int Balance) 方法(如果存在)。

为了获得更好、更详细的答案,请告诉我们有关您的程序结构和问题的更多信息。

关于java - 通过 GUI java 将用户输入添加到对象参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33974716/

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