把上面的问题该一该:
  
       用鼠标激活JinternalFrame时,(点击上面的边框)
       产生一个事件,是window 事件,还是鼠标事件?
       用那个函数处理?       我在构造函数这样定义:
       enableEvents(AWTEvent.WINDOW_EVENT_MASK)
       这样写处理函数
       protected void processWindowEvent(WindowEvent e)
       调试时,不处理函数!

解决方案 »

  1.   

    我一般是用我自己写的方法:
        void setSelected(JInternalFrame frame)
        {
            try
            {
                frame.setSelected(true);
            } catch (java.beans.PropertyVetoException e)
            {
                // do nothing
            }
        }
      

  2.   

    to turbochen(程序员)这是让 frame 当前选中,实际上我想做一个逆向,
      
       我的程序思想是:把frame 用树管理起来,当用鼠标选中frame时,来激活
    树的某一结点,实际上我想处理鼠标点中frame激活时产生的事件处理。 我知道你是高手,请指点!
      

  3.   

    要激活一个JInternalFrame,只要调用jInternalFrame.setSelected(true)就可以,然后要显示它,可能还要对它设置大小,位置,取消图标化状态等等。至于一个要处理JInternalFrame被激活、最小化、最大化及关闭时所触发的事件,需要自己实现一个VetoableChangeListener,并实现public void vetoableChange(PropertyChangeEvent e)方法, String name = e.getPropertyName();Object value = e.getNewValue();name等于"selected"的话,表示JInternalFrame激活, name等于"closed"的话,表示JInternalFrame正被关闭,你可以否决关闭。(判断关闭事件也可以用e.getPropertyName().equals(JInternalFrame.IS_CLOSED_PROPERTY)),其余类推。
      

  4.   

    to Apocalypse (逍遥思辨)  谢谢,我先试试!
      

  5.   

    用JInternalFrame.addInternalFrameListener(InternalFrameListener)
      

  6.   

    to Apocalypse (逍遥思辨)
      我在类后面    implements VetoableChangeListener  然后定义   public void vetoableChange(PropertyChangeEvent e)
                 {}
       但我在调试时,切换窗口,还是跟踪不到函数里面去,是否我的用法有错,
    请再指点指点。
      

  7.   

    JInternalFrame好像还有toFront(),toBack()方法,除了选中它,还要让它处在最前位置关于你的frame树结构,偶想你也同时保存了JInterFrame的句柄了吧
    先setSelected,在toFront
      

  8.   

    jaton(softWind)
      
      我觉得你说的好像对,但是我只想用
        public void internalFrameActivated(InternalFrameEvent e)
        一个函数    下面增加接口时怎么写,(可能很幼稚)
        this.addInternalFrameListener(new InternalFrameListener())
      

  9.   

    ok,问题解决,  还是采用 jaton(softWind) 说的接口;
      
      to Apocalypse (逍遥思辨)说的也有道理,
     
       结贴,to Apocalypse (逍遥思辨) 给10分
             jaton(softWind)          给分30
       我不知怎么送分,请斑竹 给他们吧!谢谢各位!