- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有三门课。一种是 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/
如果有人能为我的作业指明这段代码的正确方向,我将非常感激。 我已经粘贴了需要完成的整个代码,但我需要以下方法的帮助 public void changeColour(Circle aCircle) 该
我对 .java 文件的编译顺序感到困惑。编译从哪里开始?文件顶部? (或)来自包含 main 的类? (或)公开课? --- * File Sample1.java *--- class A {
我正在做一个测试项目来了解对象的 XML 序列化,但我遇到了一个奇怪的运行时错误: namespace SerializeTest { public partial class Form1 : For
广告在模拟器上完美显示,但我仍然在设备预览中看到此错误。此错误会阻止带有渲染问题的预览。我已经尝试了 SO 中的所有内容,但没有任何效果。这是我的 .java: import com.google.a
我是一名优秀的程序员,十分优秀!