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

时间:2011-09-12 11:49:59

标签: java api swing jframe

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

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

4 个答案:

答案 0 :(得分:3)

也许myFrame.setResizable(false);以及此按钮的所有事件都可以this way

编辑:

窗口的装饰来自Native OS,然后你有以下四个选项

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

  • 只关闭按钮JDialog和JFrame #setResiziable(false)

  • 未修饰,然后错过最小化/最大化/关闭按钮(a)和工具栏(来自Native OS)

  • 未修饰的Top-level ContainerJPanelGradientPaint simulated real工具栏)包含JButton与Char X(可以启用一次或其他时间根据需要禁用)

答案 1 :(得分:2)

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

JDialog

使用dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
  你可以禁用关闭按钮。

使用dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
您可以启用关闭按钮

答案 2 :(得分:0)

您可以指定在框架上按下关闭按钮时要执行的操作。如果你想要它什么都不做,那么:

frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

答案 3 :(得分:0)

你没有搜索到很远。见http://download.oracle.com/javase/6/docs/api/javax/swing/JFrame.html#setDefaultCloseOperation%28int%29。将DO_NOTHING_ON_CLOSE传递给此方法将禁止通过默认关闭按钮关闭框架。