Java 使用gui从新类获取返回值
我有一个类,它扩展了JFrame来下订单。 在中间,我有一个按钮,打开一个新窗口,用来查找一篇文章。< /P> 我需要的是: 当我点击Btnewarticle,搜索完新文章,并在新窗口中确认后,我将得到返回文章代码 单击Btnewarticle-->(打开新窗口查找文章)-->确认选择-->作为返回我获取文章代码 可能吗Java 使用gui从新类获取返回值,java,swing,Java,Swing,我有一个类,它扩展了JFrame来下订单。 在中间,我有一个按钮,打开一个新窗口,用来查找一篇文章。< /P> 我需要的是: 当我点击Btnewarticle,搜索完新文章,并在新窗口中确认后,我将得到返回文章代码 单击Btnewarticle-->(打开新窗口查找文章)-->确认选择-->作为返回我获取文章代码 可能吗 谢谢看看Java对话框: 在上面的教程中,他们解释了如何创建自定义对话框,如下面的对话框: (来源:) 它们通过给子对话框一个对其父对话框的引用来处理返回值,在父对话框中,
谢谢看看Java对话框: 在上面的教程中,他们解释了如何创建自定义对话框,如下面的对话框:
(来源:)
它们通过给子对话框一个对其父对话框的引用来处理返回值,在父对话框中,它在关闭时填充相关的值。对我来说,这一原则起到了作用:
public class ArticleSearchDialog extends JDialog {
public static ArticleId execute(Frame parent) {
ArticleSearchDialog dialog = new ArticleSearchDialog(parent, true);
dialog.setVisible(true);
return dialog.getSelectedArticle();
}
private ArticleId getSelectedArticle() {
return selectedArticle;
}
private void jbCancelActionPerformed(ActionEvent evt) {
selectedArticle = null;
setVisible(false);
dispose();
}
private void jbOkActionPerformed(ActionEvent evt) {
selectedArticle = ...; //TODO
setVisible(false);
dispose();
}
// All the rest of the dialog code.
}
然后通话变得非常简单:
ArticleId articleId = ArticleSearchDialog.execute(this);
if (articleId != null) {
//TODO
}
检查艾奥贝的答案,老实说我迷路了。在OrdersFrame中我有:protected void newArticle_actionPerformed(ActionEvent e){newArticle();}和在newArticle中:protected void saveArticle_actionPerformed(ActionEvent e){//code来执行此操作。dispose();}我真的不知道如何在返回时获取ArticleCode。从Java对话框的例子中,我不明白有多少帮助给OrdersFrame一个对“父”对话框的引用,即生成OrdersFrame的GUI。在
code中执行此操作。dispose()
您可以执行类似于parent.setChosenArticleCode(codeFromDialog)
的操作。您可以检查我的代码有什么问题吗?我发送了(什么是订单…),在第260行有一个Nuovoga方法。(Nuovoga)第199行有Save()操作。。。。