Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更改Java中现有JFrame窗口的setAlwaysOnTop()属性?_Java_Swing_User Interface_Jframe - Fatal编程技术网

如何更改Java中现有JFrame窗口的setAlwaysOnTop()属性?

如何更改Java中现有JFrame窗口的setAlwaysOnTop()属性?,java,swing,user-interface,jframe,Java,Swing,User Interface,Jframe,我有一个windowFrame()方法,它扩展了Jframe并为我的程序设置了GUI,主方法中的实例是myFrame。默认设置为setAlwaysOnTop(false)。但是在windowFrame()方法中,我有一个JCheckBox,我想用它来设置'always on top'属性的true或false。我的问题是如何对已经存在的myFrame窗口GUI执行此操作 我有监听器和所有东西,但我不知道如何在main方法中引用myFrame窗口,因为JCheckBox和监听器位于windowFr

我有一个windowFrame()方法,它扩展了Jframe并为我的程序设置了GUI,主方法中的实例是myFrame。默认设置为setAlwaysOnTop(false)。但是在windowFrame()方法中,我有一个JCheckBox,我想用它来设置'always on top'属性的true或false。我的问题是如何对已经存在的myFrame窗口GUI执行此操作

我有监听器和所有东西,但我不知道如何在main方法中引用myFrame窗口,因为JCheckBox和监听器位于windowFrame()方法内部,但实例当然在它们外部。我试着使用这个。setAlwaysOnTop(true)和setAlwaysOnTop(true),但当然这不起作用

附加信息:所有内容都包装在同一个主类中,我只需要该窗口的一个实例。

  • 没有肮脏的黑客是不可能的,不要那样做

  • 你必须使用合适的容器,然后你必须看,方法


您的问题不是如何设置属性。你显然知道怎么做。更多的是关于为什么你的设计不起作用。这不是一个真正可以回答的问题,尤其是在没有看到比您发布的代码多得多的情况下。@dansvank我同意Ryan的观点,您需要包含一些代码。还要确保你准确地描述了情况。不能用方法扩展类。我假设您有一个扩展JFrame的类,并在主方法中实例化该类。此外,当你说你“拥有听众”时,并不清楚你拥有什么类型的听众。Swing小部件集中定义了许多不同的侦听器。正如Ryan所说,这可能更像是学习如何使用Swing进行设计的问题。发布代码,我们将尽力提供帮助。是的,我在想一些关键字,如“this”或“super”(我知道这些是用于其他用途),我可以用来引用windowFrame的实例。我刚刚意识到,我可以通过在main()之外声明变量myFrame来解决问题方法,使windowFrame()方法中的ItemListener的作用域也可见。。。我浪费了很多时间在无聊的闲逛上。很抱歉,呵呵,谢谢你的回复!