Java swing 组件实例化



最近在开发一个 swing 应用程序时,有人告诉我使用 (ComponentClassName) Beans.instantiate(MyClass.class.getClassLoader(), ComponentClassName.class.getName()) 来创建组件对象,而不是使用"new"。我想知道正确的方法。

如果要实例化的类型是动态选择的,则可以使用 Beans.instantiate()。通常,新关键字工作得很好,并且是我在 Swing 应用程序中经常使用的关键字。

我认为正确的方法是使用新关键字,毕竟这就是它的角色。您使用 Beans 的方式似乎有点强迫,因为您知道要实例化哪种类型的类。其次,由于这是一个摆动应用程序,因此很可能您正在使用默认的摆动类(可能会扩展其中一些)。这种方法的另一个问题是,你的类中必须有一个没有参数的构造函数。Class.forName() 可以用于与上述代码相同的事情,但如果您不想在运行时动态创建类,请坚持使用 new 关键字。