创建一个实例并销毁先前的实例

时间:2015-08-11 01:14:55

标签: java instance

我创建了一个创建JTabbedPane的静态方法,并且每次调用都创建了一个新的JTabbedPane,但是当我调用该方法时,我想要创建一个新实例(JTabbedPane)并且前一个实例将被销毁。

代码:

public  static void create(ColumnsUI cols, SiteTypePannelUI siteType){      
    JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.LEFT); 
    /* code */
}

2 个答案:

答案 0 :(得分:1)

如果没有对旧实例的更多引用,那么必要时它将被垃圾收集器销毁。

答案 1 :(得分:0)

如果您只是创建一个对象,然后停止从任何变量引用它,它最终将被垃圾收集。

对于GUI元素,我假设你在一个pannel或其他一些UI元素上添加了你的JTabbedPane。通过这样做,一些变量引用了您的JTabbedPane。要删除此引用,您需要从面板中删除JTabbedPane。

请参阅http://docs.oracle.com/javase/7/docs/api/java/awt/Container.html#remove(java.awt.Component)

注意:如果您已注册任何侦听器,则还需要取消注册。如果没有,您将继续引用该组件,并将无意中创建内存泄漏。请参阅Java Lapsed Listener。