的我是比较新的Java和我使用的IntelliJ的GUI窗体向导来创建一个使用main()
方法来创建表单的形式。
我可以得到要创建的表单,并添加了一个侦听器到提交按钮,但我不确定如何将表单值返回到应用程序的其余部分。如何获得的数据进行GUI表格(的IntelliJ)
因为形式采用主,我只能传递字符串,所以我不能在框架上的参考,所以我不能创建一个方法中的一个引用传递它不返回任何东西对象来填充。
的我是比较新的Java和我使用的IntelliJ的GUI窗体向导来创建一个使用main()
方法来创建表单的形式。
我可以得到要创建的表单,并添加了一个侦听器到提交按钮,但我不确定如何将表单值返回到应用程序的其余部分。如何获得的数据进行GUI表格(的IntelliJ)
因为形式采用主,我只能传递字符串,所以我不能在框架上的参考,所以我不能创建一个方法中的一个引用传递它不返回任何东西对象来填充。
添加了一个项目来展示这一点。 [Link here]
为了让数据恢复,我们需要使用相同的内存引用的第一帧。 简化说明:
在该项目中,Bucket是DataObject的实例,它被传递给SecondForm,并在点击它的按钮后,我们将该值添加到该桶中。
最后,当我们回到第一帧的WindowFocusListener更新字段。
代码是不言自明的。
随着功能的编程,所述代码可以被进一步改善。 Checkout this branch。
因为窗体使用main,所以我只能传入字符串,并且它不返回任何东西,所以我不能获得对框架的引用,所以我不能创建一个方法来传入一个引用以填充对象
您应该回到OOP的基础知识。 GUI设计人员真的会隐瞒这一点,并且需要进行很多重构才能使它们在功能上保持清洁。
您可以创建任何类的实例。并通过main()
例如运行。
public class Gui {
private JFrame frame;
private JTextField textField;
public Gui(String title) {
frame = new JFrame(title);
}
public void run() {
// display Frame, add panels, etc
}
public String getDataFromGui() {
return textField.getText(); // for example
}
// other methods
public static void main(String[] args) {
Gui g = new Gui("Hello World!");
g.run();
}
}
你必须解释你想要数据去的地方。表单中的对象有多种方法,例如getSelectedValue()或getText()来获取数据,但我不认为这就是你要做的。 – Ordous