class buttonOK_ActionListener implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
     {
         getRootPane().getParent().setVisible(false);//就是这行,怎么回事
         String strYear = String.valueOf((Integer)yearsSpinner.getValue());
     String strMonth = String.valueOf((Integer)monthsComboBox.getSelectedItem());
     int column = daysTable.getSelectedColumn();
     int row = daysTable.getSelectedRow();
     String strDay = null;
     strDay = String.valueOf((Integer)daysModel.getValueAt(row,column));
    
     String temp1 = null;
     String temp2 = null;
    
     temp1 = strYear;
     temp2 = strYear;
     if(Integer.parseInt(strMonth) < 10)
     {
     temp1 += "-0" + strMonth;
     temp2 += "0" + strMonth;
     }
     else
     {
     temp1 += "-" + strMonth;
     temp2 += strMonth;
     }
    
     if(Integer.parseInt(strDay) < 10)
     {
     temp1 += "-0" + strDay;
     temp2 += "0" + strDay;
     }
     else
     {
     temp1 += "-" + strDay;
     temp2 += strDay;
     }
         
     DayFluxStat dayDlg = new DayFluxStat(statFram,temp2,temp1);
dayDlg.setVisible(true);
     }
    }

解决方案 »

  1.   

    getRootPane().getParent()得到的是个实例
      

  2.   

    因为getRootPane() 是该类定义的方法或者从父类继承的方法
    相当于 this.getRootPane().getParent().setVisible(false);
      

  3.   

    问题是class buttonOK_ActionListener implements ActionListener
    这个类并非写在方法体内部。
      

  4.   

    看楼主发的代码  必然是从父类继承来的  相当于 super.getRootPane().getParent()
      

  5.   

    OuterClassName.this.getRootPane().getParent().setVisible(false);
    隐藏OuterClassName组件实例所属的Frame。