请问:
  用show能实现Main窗体上子窗体(调用其它class)的非模态显示,那么用哪个命令可以实现子窗体的模态显示?
  例:
   1:代码
if(e.getActionCommand()=="用户登录")
{
UserLogin UserLoginFrame=new UserLogin(this);
Dimension FrameSize=UserLoginFrame.getPreferredSize();
Dimension MainFrameSize=getSize();
Point loc=getLocation();
UserLoginFrame.setLocation((MainFrameSize.width-                        FrameSize.width)/2+loc.x,
(MainFrameSize.height-FrameSize.height)/2+loc.y);
UserLoginFrame.pack();
UserLoginFrame.show();
}
 2:问题
   当点击主窗体上的用户登录菜单时可以实现用户登录窗体非模态显示,那么应改写为什么代码可以实现用户登录窗体模态显示?

解决方案 »

  1.   

    如果UserLoginFrame是JDialog 继承下来的话:
    UserLoginFrame.setLayeredPane(getLayeredPane().setLayer(UserLoginFrame,JLayeredPane.MODAL_LAYER))
    可能写的不太确切,仅提供一思路.其他一样..
      

  2.   

    加入后报错为:
    MainWindow.java:118: cannot resolve symbol
    symbol  : method setLayer (UserLogin,java.lang.Integer)
    location: class javax.swing.JLayeredPane
    UserLoginFrame.setLayeredPane(getLayeredPane().setLayer(UserLoginFrame,JLayeredPane.MODAL_LAYER));1、getLayeredPane()错在哪里?
    2、如何做到UserLoginFrame是JDialog 继承下来.