Re: Problem creating an NSButton subclass in Java
Re: Problem creating an NSButton subclass in Java
- Subject: Re: Problem creating an NSButton subclass in Java
- From: Chris Backas <email@hidden>
- Date: Sat, 02 Aug 2003 15:51:57 -0400 (EDT)
- Priority: Normal
>
> I'm trying to subclass an NSButton in my program with a Java class, so 
>
> I've picked NSButton in IB, subclassed it, clicked the button in my 
>
> form, set the custom class property to my new subclass, and created 
>
> the file
>
> for my new class.  (Did I miss anything?)
>
>
>
> For whatever reason, my program won't run when my subclass is set at 
>
> the button's custom class.  I get this cryptic console error:
>
>
>
> jobjc_jvm_newObject(): constructor with signature 
>
> (Ljava/io/InputStream;)V on class java/io/ObjectInputStream failed 
>
> (should morph the java exception)
>
>
>
> I don't know what this is referring to, as I don't use the 
>
> java.io.ObjectInputStream class.  Am I missing a step in my above 
>
> procedure? Thanks for any help.
>
>
You've run into a problem when subclassing any object that goes through 
>
the java bridge. Basically you have to define a no-arguments 
>
constructor in your subclass. It's to do with how the NSArchiving of 
>
stuff in IB works, if you don't define this method the runtime can't 
>
instantiate your class.
>
>
public class MyButton extends NSButton {
>
     public MyButton() {
>
         super(); // Need to call this
>
         // Otherwise you can leave this blank.
>
     }
>
}
>
>
Happy subclassing,
>
>
Tom
Hi Tom,
Thanks for replying.  This actually occurred to me, so I have this for my class so far:
import com.apple.cocoa.foundation.*;
import com.apple.cocoa.application.*;
import java.io.*;
public class DropableButtonClass extends NSButton
{
        public DropableButtonClass()
        {
                super();
        };
        public DropableButtonClass(NSRect frame)
        {
                super(frame);
        };
}
It doesn't make a difference in the error though.  I'd actually created these constructors just to mimic the ones that NSButton had in its documentation.  Any other ideas?  I'm stumped =)
Chris Backas
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: 
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.