Java 6和SwingUtilities2

Ste*_*ier 5 java swing

应用程序中有组件使用com.sun.java.swing.SwingUtilities2现在我明白不应该使用此类,但它是系统中使用它的组件.

因此,由于它在Java 6中不再可用,我得到NoClassDefFoundError.如何在不必升级组件的情况下解决此问题,因为我还不知道这是否是一个选项.

jpr*_*ete 5

如果您绝对没有其他选择,那么您应该从SwingUtilities2中确切地弄清楚该类正在使用什么,然后在您自己的SwingUtilities2中为该功能创建代理.然后你可以将它粘贴在你自己的com.sun.java.swing包中,它将与原始包重叠,如果加载你的组件的同一个类加载器也知道SwingUtilities2,那么那个将看到另一个和你的应用程序将工作.

根据组件的内容以及SwingUtilities2使用的内容,这可能比升级甚至重写它要困难得多.