当前位置: 首页 > 知识库问答 >
问题:

从另一个JFrame单击按钮时释放JFrame

孟杰
2023-03-14

很多人可能都知道,我是一个完全的Java新手。我已经尝试过对此进行研究(通过阅读StackOverflow上的其他帖子,在谷歌上搜索,并询问一位不太熟悉java的朋友),但我无法理解。答案可能很清楚也很简单,但我对此视而不见。我试图从不同的帧中处理JFrame。

我的应用程序应该按如下方式工作:

  • 帧X有一个按钮,按下时:生成帧Y
  • 帧Y有一个按钮,按下时:生成帧Z
  • Frame Z有一个按钮,按下时:在处理帧Y及其本身之前执行来自帧Y的方法

让Z帧处理Y帧是我的大部分问题所在。非常感谢您的帮助。理想情况下,“帮助”的措辞应该让婴儿都能理解(因为这是我对Java的理解水平)。

我知道很多人会认为这是这个问题或其他问题的重复问题。我相信这不是一个重复的问题,因为我读过这两本书,还不知道如何解决自己的问题。

共有2个答案

云霖
2023-03-14

您可以在另一个帧中保存对另一个jframe的引用。这个类可以看起来像这样:

构造函数采用jframe,该jframe应在此jframe中进行控制。

class YourFrame {
   public YourFrame(JFrame controlFrame){
       //build the frame and a button, which action listener calls controlFrame.setVisible(false);
       JFrame f = new JFrame();
       f.setSize(800, 600);
       JPanel content = new JPanel();
       JButton button = new JButton();
       button.addActionListener(new ActionListener(){
           public void actionPerformed(ActionEvent e){
               controlFrame.setVisible(false);
            }
       }
       content.add(button); 
       f.add(content);
       f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       f.setVisible(true);
   }
}
勾喜
2023-03-14
  • Frame Z有一个按钮,按下时:在处理帧Y及其本身之前执行来自帧Y的方法。

框架Y和框架Z应该是模态对话框(至少Z应该是,可能也是Y)。

当对话框Y打开对话框Z时(我们将其称为dialogZ),代码应该是这样的:

DialogZ dialogZ = new DialogZ(..);
dialogZ.setVisible(true);
this.setVisible(false); // at this point, dialogZ will have been closed

有关详细信息和示例代码,请参阅如何在对话框中使用模态。

(帧Z)…从帧Y执行方法

帧Y和帧Z可能不应该扩展任何类。相反,它们应该是根据需要使用的实例变量。

 类似资料:
  • 问题内容: 众所周知,我是一名完全的Java新手。我已经尝试过对此进行研究(通过阅读StackOverflow上的其他文章,谷歌搜索,并问一个不太喜欢Java新手的朋友),但我不知道。答案可能是明确而容易的,但我对此视而不见。我正在尝试从其他框架中放置A。 我的应用程序应该按以下方式工作: 按下框架X时有一个按钮:产生框架Y 框架Y有一个按钮,当按下时:产生框架Z 按下框架Z时有一个按钮:在放置框

  • 我在stack overflow上搜索了我的问题的类似答案,但都没有帮助我。 所以我的问题是: 我有一个名为的主JFrame,它上有一个JTable和一个JButton。单击该按钮后,将打开另一个JFrame(),我可以从中更新表。Update_Window JFrame有两个文本字段和一个按钮。 简单地说,我想从JFrame更新中的JTable。在TextFields中键入内容并使用按钮提交后,

  • 我一直在工作的swings框架,其中有一个卡片布局面板在大型机。 我总共有20个jpanels添加到我的卡片布局面板中,在这20个面板中,有3个面板是由一个按钮组成的,点击这个按钮会加载另一个JFrame。当我使用IDE运行这个GUI时,它工作得很好,但是,当我运行jar文件时,在三种情况中的两种情况下,当单击按钮时,它不显示帧。 这是我正在为ButtonListener使用的代码。这个按钮只在一

  • 我试图在点击按钮时“打开”一个不同的JFrame窗口(在本例中是“尺寸”按钮),就像在浏览菜单时一样。我有两个窗口,主函数和ActionListener作为单独的类。当我点击应该将我重定向到另一个窗口的按钮时,它只会显示一个错误,而不会隐藏第一个窗口并显示第二个窗口。错误是: "异常线程"AWT-EventQueue-0"java.lang.ClassCastExc0019:类javax.swin

  • 使用没有任何按钮的计时器从另一个JFrame调用:时间减少,然后打开没有任何按钮的另一个JFrame。请帮忙。在netbeans中使用

  • 所以假设我有一个“开”和一个“关”按钮。当我按下打开按钮时,我希望打开按钮隐藏自己,关闭按钮显示出来,反之亦然。 一个人怎么能这么做?