gpt4 book ai didi

java - 如何用不同的方法从子类关闭 JFrame?

转载 作者:行者123 更新时间:2023-11-30 04:36:09 25 4
gpt4 key购买 nike

我的 GUI 中有一个按钮应该关闭其窗口。但是,它的事件处理程序位于 AbstractAction 子类中,该子类位于与 JFrame 不同的方法中。因此,我无法找到一种方法来告诉 JFrame 从我的 AbstractAction 中关闭。

这是我的代码的基本布局:

public PointWindow()
{
initialize();
}

public void initialize()
{
JFrame frame = new JFrame();
// JFrame stuff
frame.setContentPane(createGUI());
frame.setVisible(true);
}

public JPanel createGUI()
{
JPanel gui = new JPanel();

// Code....

class MakeGraphACT extends AbstractAction
{
public void actionPerformed(ActionEvent e)
{
frame.setVisible(false); // <--- How to get this to work?
frame.dispose(); // <---
new GraphWindow(pointList);
}
}

//Code...

return gui;
}

我是否在代码规划方面做得很糟糕,或者我只是遗漏了一些明显的东西?

最佳答案

您需要将框架作为 final 参数传递给 createGUI() 方法。
然后您将能够从内部类中访问它。

关于java - 如何用不同的方法从子类关闭 JFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13485065/

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