gpt4 book ai didi

java - 如何从内部框架访问 JFrame 中的组件

转载 作者:行者123 更新时间:2023-11-30 03:16:24 24 4
gpt4 key购买 nike

我创建了 java Swing 应用程序,其中包含 jDesktoppane,在其中我从主框架(JFrame)中的切换按钮加载/调用一些 jinternal 框架。我已将 jButton 组用于所有切换按钮,因此按下按钮时只有一帧。

由于我使用了切换按钮,即使我处置了 JInternalFrame,相关切换按钮也将处于按下模式(选定)。我尝试了很多方法,但无法将切换按钮的状态从“选定”更改为“未选定”。

首先,我在主 JFrame 中创建了一个方法。

public void buttongroup_off(){           
buttonGroup 1.setSelected(null,false);
}

然后我在 JInternalFrame 的退出按钮内创建了一个对象,并通过它调用了 buttongroup_off() 方法。

private void jButton 7 ActionPerformed(java.awt.event.ActionEvent evt) {         
Main m1= new Main();
m1.buttongroup_off();
this.dispose();
}

但它不起作用!!,有人可以帮助我吗?我是编程新手。

最佳答案

private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {         
Main m1= new Main();
m1.buttongroup_off();
this.dispose();
}

在此代码中,您将创建一个 JFrame Main(创建后不可见)并禁用其按钮组。那不是你想要的。您必须使用对现有 Main 实例的引用来调用 buttongroup_off 方法。您可以通过扩展 JInternalFrame 的自定义类的自定义构造函数传递引用,也可以向 Main 类添加一个静态方法,该方法将返回对 Main 实例的引用。像这样:

private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {         
Main m1 = Main.getInstance();
m1.buttongroup_off();
this.dispose();
}

您也可以看看这个问题的答案:managing parent frame from child frame on java swing

关于java - 如何从内部框架访问 JFrame 中的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32480004/

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