freame.getComponents();
从得到的结果集中再一个个找

解决方案 »

  1.   

    楼上说的对,frame.getComponents()可以得到frame里面的所有组件,你可以做个循环,一个个解析出。如:
    for(int i = 0; i < frame.getComponentCount(); i++) {
         System.out.println(frame.getComponent(i).toString());
    }
      

  2.   

    你是说用这个方法得到getcomponent得i值?然后用这个值?那程序不是写死了?
    我可以用这个component得属性或者名称作为查找得条件吗?
      

  3.   

    JFrame最底层是一个JRootPane,JRootPane里包括一个JPanel(可用getContentPane()方法得到)和一个JLayeredPane,而你用contentPane.add(jalertPane1, BorderLayout.CENTER);加入的jalertPane1就是加入到其中的JPanel里。
    所以,你可以用下面的来判断:
    JPanel contentPane = frame.getContentPane();
    for(int i = 0; i < contentPane.getComponentCount(); i++) {
        if(contentPane.getComponent(i) instanceof JPanel) { //判断是不是你加入的Panel
             .......
        }
    }