禁用JFrame但需要访问菜单Windows

时间:2012-02-12 21:43:20

标签: java swing jframe jmenu

我不知道如何使用简单易用的代码来实现这一目标。 我可以直接查看每段代码,并在每个组件上使用setEnabled为false,但我想要一个简单的方法。

我想禁用整个帧,但仍想关闭/最大化/缩小它。你明白吗?

如果我在我的框架上使用setEnabled(false),它也会禁用这些选项,你知道Windows菜单栏的选项吗?

提前多多感谢..

2 个答案:

答案 0 :(得分:3)

  

简单,将所有组件放在JPanel中并禁用JPanel: - )

答案 1 :(得分:1)

您可以使用下面的代码段。在实用程序类中插入此方法/例程。由于该方法是静态的,因此可以在没有该类的实例的情况下调用它。并调用此方法来启用/禁用组件(菜单项,按钮,文本字段等)

// Let's say you have a JFrame object called myFrame 
// and a reference to its content pane.
// Container container = myFrame.getContentPane();

public static void toggleAbilities(Container container, boolean enabled)
{
  Component[] components = container.getComponents();
  for(Component component: components)
     component.setEnabled( enabled );
}

如果您遇到困难,我也可以发布整体工作代码。 (切换JFrame中一组按钮的功能)