gpt4 book ai didi

java - 将值从 jinternalframe 1 传递到 jinternalframe 2

转载 作者:行者123 更新时间:2023-11-29 08:52:39 29 4
gpt4 key购买 nike

我已经阅读了很多关于 Java 中的构造函数的文章,并在 stackoverflow 中搜索了相关问题,但我仍然对我的程序如何从 jinternalframe1 到 jinternalframe2 获取字符串值感到困惑。

我有一个调用 jinternalframe1 的 jinternalframe。这是我的代码。

ForgotPassword fp = new ForgotPassword();
JDesktopPane MainDesk = this.getDesktopPane();
MainDesk.add(fp);
this.dispose();
fp.show();

这是我的 jinternalframe1..

public class ForgotPassword extends javax.swing.JInternalFrame {

public ForgotPassword(String acType, String uName) {
initComponents();
acType = AccountType.getSelectedItem() + "";
uName = username.getText();

}

AccountType 变量是一个包含三个选项的 jcombobox:Administrator、LevelOne、LevelTwo。username 变量是一个 jTextField。我还有一个名为 Next 的 jbutton,它调用 jinternalframe2。

用户需要点击下一步按钮,并检查数据库中是否存在用户名。 (我已经弄清楚了这部分)然后隐藏 jinternalframe1 并在数据库中存在用户名时调用 jinternalframe2。

现在我对这部分感到困惑.. jinternalframe2。我想要从 jinternalframe1 到 jinternalframe2 的帐户类型和用户名值。我正在尝试这个但没有运气......

public class ForgotPassword2 extends ForgotPassword {

public ForgotPassword2(String acType, String uName) {
initComponents();

AccountType.getText() = acType;
username.getText() = uName;
}

您会注意到 jinternalframe2 中的变量 AccountType 是一个 jTextField。jinternalframe2 中的 AccountType 和用户名 jTextField 均不可编辑(禁用)。

此行出现错误:

ForgotPassword fp = new ForgotPassword();


public ForgotPassword2(String acType, String uName)

两行错误信息

constructor ForgotPassword in class ForgotPassword cannot be applied to given types; required: String,String found: no arguments
reason: actual and formal argument lists differ in length

有人能告诉我如何在我的程序中正确使用构造函数吗?顺便说一下,我正在使用 netbeans。提前致谢!

最佳答案

这与构造函数关系不大,更多的是在不同类的对象之间传递信息。对于一个人来说,您不会像您看起来那样为此目的滥用继承。相反,您使用组合——需要来自另一个类的信息的类需要对另一个类的 Activity 对象的有效引用。然后第一个类可以调用另一个类的方法。

我认为,出于您的目的,您最好使用内部选项 Pane (例如 JOptionPane.showInternalConfirmDialog(...))以模态方式获取用户信息。无论何时打开模态对话框,调用代码都会在显示模态对话框的位置停止。一旦模态对话框不再可见,调用代码将恢复,此时您可以查询选项 Pane 中显示的 JPanel 类以获取它包含的数据。

旁注:如果您询问有关代码的问题,并且您声明您的代码有“错误”,您将希望发布完整的错误消息以供所有人查看。

此外,这不是有效的 Java:

AccountType.getText() = acType;

因为您不能在赋值语句的左侧进行方法调用。

关于java - 将值从 jinternalframe 1 传递到 jinternalframe 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21945368/

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