gpt4 book ai didi

java - 公开课之间的交流

转载 作者:太空宇宙 更新时间:2023-11-04 06:17:31 24 4
gpt4 key购买 nike

我有三门课。一种是 worker 类(Class),他们做所有艰苦的工作,但不展示任何东西。另外两个是 GUI 类,其中一个类调用另一个类。调用第二个 GUI 类的类打开了工作器类。

第一个 GUI 使用以下方法调用第二个 GUI:

protected void openAdd() {

AddPet add = new AddPet(ADD_PROMPT, FIELDS, DATE_PROMPT);
add.setVisible(true);
}

第二个 GUI 类用于从工作器类中使用的用户获取信息,但是,由于我已经在第一个 GUI 中打开了工作器类,所以我不想再次打开它,并且我想使用第一个 GUI 中的一些信息。

我需要做的是将第二个 GUI 中的信息传递回第一个 GUI,以便它可以使用它并将其传递给开放工作人员类。

我该怎么做?

编辑:我认为最好的选择是从第二个 GUI 调用第一个 GUI 中的方法,但我不知道这是否可能。

最佳答案

再想一想,您的第二个窗口似乎基本上用作第一个窗口的对话框,并且您将其用于用户数据输入,仅此而已。如果是这样,请确保第二个窗口不是 JFrame,而是模态 JDialog。如果是这样,那么它将在第一个窗口打开时阻止用户与第一个窗口的交互,并且从中提取信息将很容易,因为您确切知道用户何时完成它,因为程序流将在设置第二个窗口可见的代码之后立即在第一个 GUI 中恢复。

例如,

// in this example, AddPet is a modal JDialog, not a JFrame
protected void openAdd() {
// I'm passing *this* into the constructor, so it can be used ...
// ... in the JDialog super constructor
AddPet add = new AddPet(this, ADD_PROMPT, FIELDS, DATE_PROMPT);
add.setVisible(true);

// code starts here immediately after the AddPet modal dialog is no longer visible
// so you can extract information from the class easy:

String petName = add.getPetName(); // I know you don't use these exact methods
String petBreed = add.getPetBreed(); // but they're just a "for instance" type of code
// ... etc

}

...

关于java - 公开课之间的交流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27893846/

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