加上
jpanel.validate();
jpanel.repaint();

解决方案 »

  1.   

    jpanel.getComponentAt(pos.x,pos.y).validate();
    jpanel.getComponentAt(pos.x,pos.y).repaint();
    如果还不行就要看看你的代码才说得清楚了
      

  2.   

    另外jpanel的布局管理器必须是null或XYLayout(属于JBuilder自己带的包)
      

  3.   

    class Map
    {
       private java.util.Vector com = new java.util.Vector();
       private java.awt.Container cot;
       public Map(java.awt.Container cot)
       {
           this.cot = cot;
       }
       public void addCom(java.awt.Component c)
       {     com.add(c.getLocation());   }
       public void delCom(int y)
       {
         for(int i = 0 ;i<com.size() ;i++)
         {
            java.awt.Point pos = (java.awt.Point)com.elementAt(i);
            if(pos.y == y)
            {
               cot.remove( cot.getComponentAt(pos.x,pos.y));
               continue;
            }else
            if(pos.y > y )
            {          (cot.getComponentAt(pos.x,pos.y)).setLocation(pos.x,21);
              (cot.getComponentAt(pos.x,pos.y)).validate();         }
         }
         cot.validate();
         cot.repaint();
       }}