一个有菜单栏的窗口A继承了Frame,点击菜单栏弹出另外一个窗口B,
怎样将其设置为点击A上的菜单栏,弹出窗口B后,A窗口不能在点击,只有关闭B后才能在点击
用delphi是有个show和showModal方法,在java中怎样设置

解决方案 »

  1.   

    B的构造函数中首行写成
    super(frame, true);
    public B(FrameA frame)
    super(frame, true);}
    其中frame为A传进来的参数
    B b=new B(his);
      

  2.   

    我试了试,那种方法好象不行啊,Frame 哪里有这个构造方法
      

  3.   

    在这段代码上面修改一下,
    FrameAimport java.awt.*;
    import java.awt.event.*;
    public class FrameA extends Frame implements ActionListener{
    Button ButtonOk =new Button ("ok");
    public FrameA(){
    super ("111");
    setLayout(null);
    setSize(100,200);
    ButtonOk.setBounds(100,100,35,50);
    ButtonOk.addActionListener(this);
    add(ButtonOk);
    setVisible(true);
    validate();
    }
    public static void main(String[] args){
    FrameA fr=new FrameA();
    }
    public void actionPerformed(ActionEvent e){
    FrameB b=new FrameB();
    }
    }
    FrameBimport java.awt.*;
    public class FrameB extends Frame {
    public FrameB(){
    super ("BBB");
    setSize(100,200);
    setLayout(null);
    setVisible(true);
    validate();
    }
    }
      

  4.   

    我搞定了FrameAimport java.awt.*;
    import java.awt.event.*;
    public class FrameA extends Frame implements ActionListener{
    Button ButtonOk =new Button ("ok");
    public FrameA(){
    super ("111");
    setLayout(null);
    setSize(100,200);
    ButtonOk.setBounds(100,100,35,50);
    ButtonOk.addActionListener(this);
    add(ButtonOk);
    setVisible(true);
    validate();
    }
    public static void main(String[] args){
    FrameA fr=new FrameA();
    }
    public void actionPerformed(ActionEvent e){
    FrameB b=new FrameB();
                               this.setEnabled(false);/////////////加上这行就可以了
    }
    }
    FrameBimport java.awt.*;
    public class FrameB extends Frame {
    public FrameB(){
    super ("BBB");
    setSize(100,200);
    setLayout(null);
    setVisible(true);
    validate();
    }
    }