change active to setVisible,isVisible