|
>I am trying to instantiate a class which extends JFrame, which extends >JRootPane. I get: >java.lang.NoClassDefFoundError: com.sun.java.swing.JRootPane >I am importing com.sun.java.swing.*, as evidenced by the fact that I don't error >out on JFrame. >As such, I can't figure out why it seems to be having trouble finding JRootPane, >which is in the same package. >Any ideas? Thanks. --------- I answered this on the NEWS/400 site, but just in case: You can extend a class without importing the package. IBM Visual Age for Java does this all the time. You can do it by fully qualifying the superclass: public class MyFrame extends com.sun.java.swing.JFrame { "Importing" a package is not something done implicitly. You must explicitly import the package with an import statement such as: import com.sun.java.swing.*; That will import ALL the classes in Swing (version 1.0.x). Be careful, though, it will NOT import all the classes in, say, com.sun.java.swing.JTable. You have to again explicitly import each sub-package. Okay, on to your NoClassDefFoundError. First, a slight correction: JFrame does not extend JRootPane, it CONTAINS JRootPane. That is, one of JFrame's fields is defined as type JRootPane. By fully qualifying the superclass and not doing the explicit import, the compiler fails because it doesn't know what a JRootPane is. You can avoid all that with the following code: import com.sun.java.swing.*; public class MyFrame extends JFrame { Note that you no longer have to fully qualify the superclass. One final note: I notice that you're using the old Swing1.0.3 naming conventions (com.sun.java.swing.*). I highly recommend moving to Swing1.1.1, which uses the javax.swing.* naming convention. This is the same convention as used by Java2 (a/k/a JDK1.2 and JDK1.3). By going to this convention now, you'll save yourself the effort of converting all your package names when you go to Java2. Swing1.1.1 is in full release and will run with JDK1.1. You can download it from: http://www.javasoft.com/products/jfc/download.html Good luck! Joe Pluta Moderator http://www.zappie.net Where the AS/400 speaks Java with an RPG accent Home of PBD1.2P, the FREE Java/400 Client/Server Toolkit +--- | This is the JAVA/400 Mailing List! | To submit a new message, send your mail to JAVA400-L@midrange.com. | To subscribe to this list send email to JAVA400-L-SUB@midrange.com. | To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com. | Questions should be directed to the list owner: joe@zappie.net +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.