Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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 Swing非活动按钮_Java_Api_Swing_Jframe - Fatal编程技术网

用于关闭窗口的Java Swing非活动按钮

用于关闭窗口的Java Swing非活动按钮,java,api,swing,jframe,Java,Api,Swing,Jframe,我正在尝试使用swing创建gui。我有一个主框架,我希望它只显示右上角的x按钮。我也想使这个按钮不可能按下,如果某些条件得到满足。我在谷歌和java的网站上做了一些搜索,但我找不到任何与这两项任务相关的功能。欢迎使用任何小代码或教程或API的链接 我希望按钮在那里。我不希望窗口关闭(我可以使用setDefaultCloseOperation来关闭),而且我正在尝试找到一种方法,使按钮看起来变灰,并且不允许它在我单击按钮时执行被按下的动画。我希望它是灰色的,完全没有响应。可能myFrame.se

我正在尝试使用swing创建gui。我有一个主框架,我希望它只显示右上角的x按钮。我也想使这个按钮不可能按下,如果某些条件得到满足。我在谷歌和java的网站上做了一些搜索,但我找不到任何与这两项任务相关的功能。欢迎使用任何小代码或教程或API的链接


我希望按钮在那里。我不希望窗口关闭(我可以使用setDefaultCloseOperation来关闭),而且我正在尝试找到一种方法,使按钮看起来变灰,并且不允许它在我单击按钮时执行被按下的动画。我希望它是灰色的,完全没有响应。

可能
myFrame.setresizeable(false)和您可以处理的该按钮的所有事件

编辑:

窗口的装饰来自本机操作系统,然后您有以下四个选项

  • 全装饰(JFrame)最小化/最大化/关闭按钮

  • 仅关闭按钮JDialog和JFrame#可设置大小(错误)

  • 未装饰,然后也缺少最小化/最大化/关闭按钮(a)和工具栏(来自本机操作系统)

  • undecorated with(带工具栏)包含with Char X(可以启用一次,也可以根据需要禁用另一次)


    • 可能
      myFrame.setresizeable(false)和您可以处理的该按钮的所有事件

      编辑:

      窗口的装饰来自本机操作系统,然后您有以下四个选项

      • 全装饰(JFrame)最小化/最大化/关闭按钮

      • 仅关闭按钮JDialog和JFrame#可设置大小(错误)

      • 未装饰,然后也缺少最小化/最大化/关闭按钮(a)和工具栏(来自本机操作系统)

      • undecorated with(带工具栏)包含with Char X(可以启用一次,也可以根据需要禁用另一次)


      您可以指定在框架上按下“关闭”按钮时要执行的操作。如果您不想让它做任何事情,那么:

      frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
      

      您可以指定在框架上按下“关闭”按钮时要执行的操作。如果您不想让它做任何事情,那么:

      frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
      

      你没有搜索太远。看见将关闭时的
      DO\u NOTHING\u传递给此方法将禁止通过默认的关闭按钮关闭帧。

      您没有搜索太远。看见将关闭时的
      DO\u NOTHING\u传递给此方法将禁止通过默认的关闭按钮关闭帧。

      您可以使用JDialog,因为它只有X按钮

      使用
      dialog.setDefaultCloseOperation(JDialog.DO\u NOTHING\u ON\u CLOSE)
      您可以禁用关闭按钮

      使用
      dialog.setDefaultCloseOperation(JDialog.DISPOSE\u ON\u CLOSE)

      您可以启用关闭按钮

      您可以使用JDialog,因为它只有X按钮

      使用
      dialog.setDefaultCloseOperation(JDialog.DO\u NOTHING\u ON\u CLOSE)
      您可以禁用关闭按钮

      使用
      dialog.setDefaultCloseOperation(JDialog.DISPOSE\u ON\u CLOSE)


      您可以启用关闭按钮

      您所说的“无法按下”是什么意思?如果鼠标靠近它,你想强迫它离开吗?你想如何阻止用户按下它?@Joachim Sauer我想他希望它被禁用。我希望它只是在那里,但以灰度显示,如果你点击它,就好像什么都没点击一样。它就是没有反应。我猜它是不活动的。@Eternal_Light:也读一下:查看我对real Chooses的编辑“不可能按下”是什么意思?如果鼠标靠近它,你想强迫它离开吗?你想如何阻止用户按下它?@Joachim Sauer我想他希望它被禁用。我希望它只是在那里,但以灰度显示,如果你点击它,就好像什么都没点击一样。它就是没有反应。我想它是不活动的。@Eternal_Light:也读一下:看我对real Chooses的编辑哦,是的,那很好。有没有一个简单的方法让我也把它变成灰色,当我点击它的时候,不显示里面被按下的动画?我认为这是不可能的,或者至少是不直接的。您可以使用setUnderatted()删除所有标题栏内容,但这可能对您没有好处。也许您还需要查看您的用例,为什么您需要一个不可关闭的窗口?如果用户希望关闭它,应该使用什么方法?这似乎不是一个好的UI设计…一个更标准的UI设计方法的例子是:当满足某些条件时,如果用户按下关闭按钮,则会显示一条消息(对话框或类似的消息),通知他们在满足这些条件之前,无法关闭窗口。(如果他们愿意,可能会给他们一个关闭它的选项)我大部分时间都在尝试。我想在如下情况下使用它:jframe显示一个进度条,只要进度条没有满,我希望x按钮变成灰色且不可用,并保持这种状态,直到进度条填满为止。发送一条消息并要求用户按下另一个按钮来摆脱它,如果您只需禁用该按钮,那就不太好了。用户将理解消息将告诉他们的相同内容。您也可以使用JWindow,在这种情况下,默认情况下它没有这些按钮…哦,是的,这很好。有没有一个简单的方法让我也把它变成灰色,当我点击它的时候,不显示里面被按下的动画?我认为这是不可能的,或者至少是不直接的。您可以使用setUnderatted()删除所有标题栏内容,但这可能对您没有好处。也许您还需要查看您的用例,为什么您需要一个不可关闭的窗口?如果用户希望关闭它,应该使用什么方法?看起来不是这样,李