Hi all,
is it not possible to call inherited methods in signal handlers
specified in glade? For example, if I have a class Frame with a method
doClose() and an instance of the class Preferences that inherits from
Frame and acts as the owner of a glade-generated preferences window, is
it not possible for me to specify doClose() as the handler for a signal
in glade?
Currently, when I try to do something like the above, I get the
following:
ListenerDelegate.fireEvent(org.gnu.gtk.event.ButtonEvent[source=org.gnu.gtk.Button@1bdc9d8,id=CLICK]): java.lang.IllegalAccessException: Class org.gnu.glade.ListenerDelegate can not access a member of class org.zentren.zinfo.ui.Frame with modifiers "public"
java.lang.IllegalAccessException: Class
org.gnu.glade.ListenerDelegate can not access a member of class
org.zentren.zinfo.ui.Frame with modifiers "public"
at
sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)
at java.lang.reflect.Method.invoke(Method.java:578)
at
org.gnu.glade.ListenerDelegate.fireEvent(ListenerDelegate.java:88)
at
org.gnu.glade.ListenerDelegate.fireEvent(ListenerDelegate.java:60)
at
org.gnu.glade.ButtonDelegate.buttonEvent(ButtonDelegate.java:20)
at org.gnu.gtk.Button.fireButtonEvent(Button.java:306)
at org.gnu.gtk.Button.handleClick(Button.java:316)
at org.gnu.gtk.Gtk.gtk_main(Native Method)
at org.gnu.gtk.Gtk.main(Gtk.java:54)
at org.zentren.zinfo.ui.Viewer.main(Viewer.java:55)
params:[Ljava.lang.Object;@1a918d5, ret:null
Is there a nice way around this problem or do I need to provide methods
like:
public void doClose() {
super.doClose();
}
?
Regards,
Lars
|