如何从另一个类中处理JFrame
?下面列出了我的代码。
public class MainWindow
{
JFrame main_f = new JFrame("xx");
main_f.getContentPane().setLayout(new BorderLayout());
main_f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
.
.
.
}
处置类别:
public static void DisposingJFrame (){
.
.
.
MainWindow.main_f.dispose();
}
<代码>主窗口。main\u f.dispose()不起作用,因为它不是变量。你能帮助我吗?
有一种最简单的方法。用于从另一个类中处理一个类的JFrame的Java代码如下:
public class Main extends JFrame
{
Main()
{
Main x=new Main();
Other.a=x;
}
}
public class Other extends JFrame
{
static Main a;
Other()
{
a.dispose();
}
}
如果想这样访问它,需要将main\u f设置为静态变量。
但是,这是非对象模式。相反,请执行以下操作:
另一种方法是将JFrame作为主窗口的实例进行处理(这样,您就不需要将大型机声明为单例)
建议:
使JFrame
实例成为MainWindow
类的字段,并为其提供访问器方法。
public final class MainWindow{
private final JFrame main_f;
public MainWindow(){
main_f = new JFrame("xx");
main_f.getContentPane().setLayout(new BorderLayout());
main_f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
.
.
.
}
public final JFrame getMainFrame(){
return main_f;
}
.
.
.
}
然后在处置
类中,您应该有一个MainWindow
实例,您只需在其中执行以下操作即可处置其JFrame
实例:
mainWindowInstance.getMainFrame().dispose();
建议:
编辑:
这是为了解决您看到的错误:
关于第一个错误,这是因为在我提供的示例中,我使用了final修饰符。此字段必须在创建对象时初始化。因此,必须有多个构造函数。要解决此问题,请删除最终修饰符,或初始化主窗口的每个构造函数中的主字段。
关于第二个错误,main WindowInstance
是我留给您创建的东西。这是一个“例如”-
public class Disposing{
private MainWindow mainWindowInstance;
public Disposing(){
mainWindowInstance = new MainWindow();
.
.
.
}
public void diposeMainFrame(){
mainWindowInstance.getMainFrame().dispose();
}
}
问题内容: 如何从另一个类中处置JFrame?我的代码在下面列出。我使用Netbeans生成表单来生成窗口。我想使用另一个类进行处理(名称为needDispose)。 NETBEANS GENERATE (重要方法是getMainFrame()) 问题答案: 这是一个如何从另一个本身就是JFrame的类中释放JFrame的示例:
我有一个关于JFrames和正确处理它们的快速问题。我有一个有多个关卡的游戏,我希望在使用新关卡创建另一个关卡时处理使用中的框架。 我目前正在开发的程序扩展了一个JFrame,这一直让我感到困惑,因为我不知道那个JFrame叫什么。 无论如何,我有另一个扩展JPanel的类。在这个类中,我有一个方法,当游戏状态完成时,删除所有实例并关闭JFrame。然而这不起作用,因为我无法获取框架的框架,相反,
我已经阅读了很多stackoverflow的页面,但是我无法将我的ArrayList复制到另一个类中。下面是一个场景,我正在构建一个快速的图书储蓄应用程序,类似于图书馆中的应用程序,但更简单(用于学校)。 我有我的主库类(带有main),它为主菜单/选项设置了swing。 我有一个带有新书构造函数的book类,如下所示: 在这个类中,我在确认按钮上添加了一个,以确认上要作为对象添加的输入,如下所示
问题内容: 嗨,我试图将一些文本附加到同一包中另一个类的一个小问题。以下是与JFrame有关的主要类: 我包括测试变量只是为了轻松地重新创建问题,但是无论何时运行append函数,jFrame的文本区域中都不会出现任何内容。在我的方案中,我让客户端从服务器接收文本,然后将其附加到文本框中。 顺便说一句,我正在为JFrame使用IntelliJ GUI设计器。我只包含了重新创建问题所需的代码。我仍在
我想从class1调用class2,但是class2没有一个可以引用的主函数,比如
我有一个关于接口的问题,比如: 现在,我需要这只猫去抓一只老鼠void catchMouse(){std::cout 有几种可能的解决方案,但看起来都不好。 > 在IAnim中添加一个方法,然后使用AnimalFactory创建猫后,我可以从IAnimal调用catchMouse()方法。但是catchMouse并不适用于所有动物,狗不catchMouse。将方法添加到IEM会污染界面,嗅到代码。