Thread: [Java-gnome-developer] Re: error: java.lang.reflect.InvocationTargetException: ListenerDelegate.cre
Brought to you by:
afcowie
From: Jonathon L. <j...@co...> - 2005-03-18 10:44:24
|
I was having the same problem, so I did what you said. changing from line 160 in file ListenerDelegate.java: } catch (Exception e) { throw new InvocationTargetException(e, "ListenerDelegate.create failure"); } to } catch (Exception e) { e.printStackTrace(); throw new InvocationTargetException(e, "ListenerDelegate.create failure"); } I got the following output: java.lang.NullPointerException at org.gnu.glade.ListenerDelegate.getHandlerMethod(ListenerDelegate.java:82) at org.gnu.glade.ListenerDelegate.create(ListenerDelegate.java:142) at org.gnu.glade.LibGlade.connect(LibGlade.java:178) at org.gnu.glade.LibGlade.glade_xml_signal_autoconnect_full(Native Method) at org.gnu.glade.LibGlade.<init>(LibGlade.java:94) at org.gnu.glade.LibGlade.<init>(LibGlade.java) at turtle.Turtle.<init>(Turtle.java:24) at turtle.Turtle.main(Turtle.java:18) java.lang.reflect.InvocationTargetException: ListenerDelegate.create failure I'm using jdk1.5.0, under fedora 3, using the libgtk etc. packages from http://people.redhat.com/fitzsim/java-gnome/ let us know if you want any more experiments performed. J. |
From: Jonathon L. <j...@co...> - 2005-03-18 11:21:37
|
I get the same error using gij java.lang.NullPointerException at org.gnu.glade.ListenerDelegate.getHandlerMethod(java.lang.Object, java.lang.String) (Unknown Source) at org.gnu.glade.ListenerDelegate.create(java.lang.String, java.lang.Class, java.lang.Object, java.lang.String, java.lang.Object) (Unknown Source) at org.gnu.glade.LibGlade.connect(java.lang.String, int, java.lang.String, java.lang.String, int, boolean) (Unknown Source) at _Jv_CallAnyMethodA(java.lang.Object, java.lang.Class, _Jv_Method, boolean, boolean, java.lang.Class[], jvalue, jvalue, boolean) (/usr/lib/libgcj.so.5.0.0) at g_hash_table_foreach (/usr/lib/libglib-2.0.so.0.400.7) at glade_xml_signal_autoconnect_full (/usr/lib/libglade-2.0.so.0.0.4) at Java_org_gnu_glade_LibGlade_glade_1xml_1signal_1autoconnect_1full (/usr/lib/libgladejava2.8.so.2.8.2) at _Jv_JNIMethod.call(ffi_cif, void, ffi_raw, void) (/usr/lib/libgcj.so.5.0.0) at org.gnu.glade.LibGlade.LibGlade(java.lang.String, java.lang.Object, java.lang.String) (Unknown Source) at org.gnu.glade.LibGlade.LibGlade(java.lang.String, java.lang.Object) (Unknown Source) at turtle.Turtle.Turtle() (Unknown Source) at turtle.Turtle.main(java.lang.String[]) (Unknown Source) java.lang.reflect.InvocationTargetException: ListenerDelegate.create failure |
From: Jeff M. <ku...@gm...> - 2005-03-18 12:01:37
|
Could you please send a copy of the java code and glade file. I would be happy to take a look at this and help with a resolution. On Sat, 27 Oct 2001 21:10:48 +1000 (EST), Jonathon Love <j...@co...> wrote: > I get the same error using gij > > java.lang.NullPointerException > at org.gnu.glade.ListenerDelegate.getHandlerMethod(java.lang.Object, > java.lang.String) (Unknown Source) > at org.gnu.glade.ListenerDelegate.create(java.lang.String, > java.lang.Class, java.lang.Object, java.lang.String, java.lang.Object) > (Unknown Source) > at org.gnu.glade.LibGlade.connect(java.lang.String, int, > java.lang.String, java.lang.String, int, boolean) (Unknown Source) > at _Jv_CallAnyMethodA(java.lang.Object, java.lang.Class, _Jv_Method, > boolean, boolean, java.lang.Class[], jvalue, jvalue, boolean) > (/usr/lib/libgcj.so.5.0.0) > at g_hash_table_foreach (/usr/lib/libglib-2.0.so.0.400.7) > at glade_xml_signal_autoconnect_full (/usr/lib/libglade-2.0.so.0.0.4) > at Java_org_gnu_glade_LibGlade_glade_1xml_1signal_1autoconnect_1full > (/usr/lib/libgladejava2.8.so.2.8.2) > at _Jv_JNIMethod.call(ffi_cif, void, ffi_raw, void) > (/usr/lib/libgcj.so.5.0.0) > at org.gnu.glade.LibGlade.LibGlade(java.lang.String, java.lang.Object, > java.lang.String) (Unknown Source) > at org.gnu.glade.LibGlade.LibGlade(java.lang.String, java.lang.Object) > (Unknown Source) > at turtle.Turtle.Turtle() (Unknown Source) > at turtle.Turtle.main(java.lang.String[]) (Unknown Source) > java.lang.reflect.InvocationTargetException: ListenerDelegate.create failure > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > java-gnome-developer mailing list > jav...@li... > https://lists.sourceforge.net/lists/listinfo/java-gnome-developer > -- Jeffrey Morgan "The highest reward for a man's toil is not what he gets for it, but what he becomes by it" - Jon Ruskin |
From: Leonardo M. <leo...@gm...> - 2005-03-18 13:36:05
Attachments:
gui.glade
Example.java
|
This is one example... On Fri, 18 Mar 2005 07:01:26 -0500, Jeff Morgan <ku...@gm...> wrote: > Could you please send a copy of the java code and glade > file. I would be happy to take a look at this and help > with a resolution. >=20 > On Sat, 27 Oct 2001 21:10:48 +1000 (EST), Jonathon Love > <j...@co...> wrote: > > I get the same error using gij > > > > java.lang.NullPointerException > > at org.gnu.glade.ListenerDelegate.getHandlerMethod(java.lang.Object, > > java.lang.String) (Unknown Source) > > at org.gnu.glade.ListenerDelegate.create(java.lang.String, > > java.lang.Class, java.lang.Object, java.lang.String, java.lang.Object) > > (Unknown Source) > > at org.gnu.glade.LibGlade.connect(java.lang.String, int, > > java.lang.String, java.lang.String, int, boolean) (Unknown Source) > > at _Jv_CallAnyMethodA(java.lang.Object, java.lang.Class, _Jv_Method, > > boolean, boolean, java.lang.Class[], jvalue, jvalue, boolean) > > (/usr/lib/libgcj.so.5.0.0) > > at g_hash_table_foreach (/usr/lib/libglib-2.0.so.0.400.7) > > at glade_xml_signal_autoconnect_full (/usr/lib/libglade-2.0.so.0.0.4= ) > > at Java_org_gnu_glade_LibGlade_glade_1xml_1signal_1autoconnect_1full > > (/usr/lib/libgladejava2.8.so.2.8.2) > > at _Jv_JNIMethod.call(ffi_cif, void, ffi_raw, void) > > (/usr/lib/libgcj.so.5.0.0) > > at org.gnu.glade.LibGlade.LibGlade(java.lang.String, java.lang.Objec= t, > > java.lang.String) (Unknown Source) > > at org.gnu.glade.LibGlade.LibGlade(java.lang.String, java.lang.Objec= t) > > (Unknown Source) > > at turtle.Turtle.Turtle() (Unknown Source) > > at turtle.Turtle.main(java.lang.String[]) (Unknown Source) > > java.lang.reflect.InvocationTargetException: ListenerDelegate.create fa= ilure > > > > ------------------------------------------------------- > > SF email is sponsored by - The IT Product Guide > > Read honest & candid reviews on hundreds of IT Products from real users= . > > Discover which products truly live up to the hype. Start reading now. > > http://ads.osdn.com/?ad_id=3D6595&alloc_id=3D14396&op=3Dclick > > _______________________________________________ > > java-gnome-developer mailing list > > jav...@li... > > https://lists.sourceforge.net/lists/listinfo/java-gnome-developer > > >=20 > -- > Jeffrey Morgan >=20 > "The highest reward for a man's toil is not > what he gets for it, but what he becomes by it" > - Jon Ruskin >=20 >=20 > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=3D6595&alloc_id=3D14396&op=3Dclick > _______________________________________________ > java-gnome-developer mailing list > jav...@li... > https://lists.sourceforge.net/lists/listinfo/java-gnome-developer >=20 --=20 Leonardo Marques=20 :@ Deleta logo esse outlook e esse internet explorer a=ED... :@ http://www.getfirefox.com - http://www.mozilla.org/products/thunderbird/ Bras=EDlia - DF |
From: Jonathon L. <j...@co...> - 2005-03-19 00:10:51
|
All the runExample examples work, so I presume the problem is in libGlade. glade file: <?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> <glade-interface> <widget class="GtkWindow" id="window1"> <property name="visible">True</property> <property name="title" translatable="yes">window1</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_NONE</property> <property name="modal">False</property> <property name="resizable">True</property> <property name="destroy_with_parent">False</property> <property name="decorated">True</property> <property name="skip_taskbar_hint">False</property> <property name="skip_pager_hint">False</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> <child> <widget class="GtkButton" id="button"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="label" translatable="yes">button</property> <property name="use_underline">True</property> <property name="relief">GTK_RELIEF_NORMAL</property> <property name="focus_on_click">True</property> <signal name="clicked" handler="on_button_clicked" last_modification_time="Sat, 19 Mar 2005 00:08:48 GMT"/> </widget> </child> </widget> </glade-interface> source file: package test; import org.gnu.glade.LibGlade; import org.gnu.gtk.Gtk; public class Test { public static void main(String[] args) { Gtk.init(args); Test turtle = new Test(); Gtk.main(); } public Test() { try { LibGlade moo = new LibGlade("/home/j/Projects/tmp/tmp.glade", this); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void on_button_click() { System.out.println("click"); } } > Could you please send a copy of the java code and glade > file. I would be happy to take a look at this and help > with a resolution. |
From: Jonathon L. <j...@co...> - 2005-03-19 22:43:01
Attachments:
ListenerDelegate.java
|
> If it"s not asking too much, could you also please send the modified > version you made of ListenerDelegate.java? here 'tis, attached, and pasted. /* * LibGlade support for libglade for Java-Gnome * * The Java-Gnome bindings library is free software distributed under * the terms of the GNU Library General Public License version 2. */ /** * ListenerDelegate: abstract base class for Java-GNOME event listener * delegate classes which connect to glade-specified event handlers. * * @author Tom Ball */ package org.gnu.glade; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; import org.gnu.gnome.event.AppBarListener; import org.gnu.gnome.event.ClientListener; import org.gnu.gnome.event.ColorPickerListener; import org.gnu.gnome.event.DateEditListener; import org.gnu.gnome.event.DruidPageChangeListener; import org.gnu.gnome.event.DruidPageSetupListener; import org.gnu.gnome.event.FontPickerListener; import org.gnu.gtk.Widget; import org.gnu.gtk.event.AdjustmentListener; import org.gnu.gtk.event.ButtonListener; import org.gnu.gtk.event.CalendarListener; import org.gnu.gtk.event.CellRendererTextListener; import org.gnu.gtk.event.CheckMenuItemListener; import org.gnu.gtk.event.ColorButtonListener; import org.gnu.gtk.event.ComboBoxListener; import org.gnu.gtk.event.ContainerListener; import org.gnu.gtk.event.DialogListener; import org.gnu.gtk.event.EntryListener; import org.gnu.gtk.event.ExpanderListener; import org.gnu.gtk.event.ExposeListener; import org.gnu.gtk.event.FocusListener; import org.gnu.gtk.event.FontButtonListener; import org.gnu.gtk.event.GtkEvent; import org.gnu.gtk.event.GtkEventType; import org.gnu.gtk.event.ItemListener; import org.gnu.gtk.event.KeyListener; import org.gnu.gtk.event.LifeCycleListener; import org.gnu.gtk.event.MenuItemListener; import org.gnu.gtk.event.MouseListener; import org.gnu.gtk.event.MouseMotionListener; import org.gnu.gtk.event.NotebookListener; import org.gnu.gtk.event.OptionMenuListener; import org.gnu.gtk.event.RangeListener; import org.gnu.gtk.event.ScaleListener; import org.gnu.gtk.event.SpinListener; import org.gnu.gtk.event.TextBufferListener; import org.gnu.gtk.event.TextViewListener; import org.gnu.gtk.event.ToggleListener; import org.gnu.gtk.event.ToolBarListener; import org.gnu.gtk.event.ToolButtonListener; import org.gnu.gtk.event.TreeModelListener; import org.gnu.gtk.event.TreeSelectionListener; import org.gnu.gtk.event.TreeViewColumnListener; abstract class ListenerDelegate { protected String signal; // the signal being fired by GTK protected Object owner; // the object which contains custom handler // methods protected Method handler; // the owner's handler method for this signal protected Object target; // the optional object to send the handler public ListenerDelegate(String signal, Object owner, Method handler, Object target) throws NoSuchMethodException { this.signal = signal; this.owner = owner; this.handler = handler; this.target = target; } private static Method getHandlerMethod(Object owner, String handlerName) throws NoSuchMethodException { Method[] methods = owner.getClass().getMethods(); int n = methods.length; for (int i = 0; i < n; i++) { Method m = methods[i]; if (m.getName().equals(handlerName)) { return m; } } throw new NoSuchMethodException(owner.getClass().getName() + '.' + handlerName); } public boolean fireEvent(GtkEvent event) { return fireEvent(event, 0.0); } public boolean fireEvent(GtkEvent event, double value) { Object[] params = null; Object ret = null; try { Widget source = (Widget)event.getSource(); //System.err.println("fireEvent: source:"+source); GtkEventType typeNeeded = source.getEventType(signal); //System.err.println("fireEvent: typeNeeded:"+typeNeeded); if (event.getType() == typeNeeded) { Class[] paramTypes = handler.getParameterTypes(); // handlers have optional event and target parameters int n = paramTypes.length; //System.err.println("fireEvent: n:"+n); if (n == 2) // <handler>(event, target); params = new Object[] { event, target }; else if (n == 1) // <handler>(event); params = new Object[] { event }; else // <handler>(); params = new Object[0]; //System.err.println("fireEvent: owner:"+owner+", event:"+event+", target:"+target); ret = handler.invoke(owner, params); // return type is either null (if void) or boolean return (ret != null && ret.getClass().equals(Boolean.TYPE)) ? ((Boolean)ret).booleanValue() : false; } /* else ignore event */ } catch (InvocationTargetException e) { System.err.println("ListenerDelegate.fireEvent(" + event + "): " + e.getTargetException()); e.getTargetException().printStackTrace(); } catch (Exception e) { System.err.println("ListenerDelegate.fireEvent(" + event + "): " + e); e.printStackTrace(); System.err.println("params:"+params+", ret:"+ret); } return false; } static ListenerDelegate create(String signal, Class listenerClass, Object owner, String handlerName, Object target) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException { try { Method handler = getHandlerMethod(owner, handlerName); Class delegateClass = (Class)delegateClassMap.get(listenerClass); if (delegateClass == null) { String listenerClassName = listenerClass.getName(); String delegateClassName = (String) delegateMap.get(listenerClassName); delegateClass = Class.forName(delegateClassName); delegateClassMap.put(listenerClass, delegateClass); } if (delegateClass == null) throw new ClassNotFoundException("No libglade delegate for " + listenerClass.getName()); Constructor ctor = delegateClass.getConstructor(new Class[] { String.class, Object.class, Method.class, Object.class }); return (ListenerDelegate)ctor.newInstance(new Object[] { signal, owner, handler, target }); } catch (NoSuchMethodException e) { throw e; } catch (InvocationTargetException e) { throw e; } catch (Exception e) { e.printStackTrace(); throw new InvocationTargetException(e, "ListenerDelegate.create failure"); } } // Map GTK and GNOME listener interfaces to their respective delegates. private static Map delegateMap = new HashMap(); private static Map delegateClassMap = new HashMap(); static { delegateMap.put("org.gnu.gtk.event.AdjustmentListener", "org.gnu.glade.AdjustmentDelegate"); delegateMap.put("org.gnu.gtk.event.ButtonListener", "org.gnu.glade.ButtonDelegate"); delegateMap.put("org.gnu.gtk.event.CalendarListener", "org.gnu.glade.CalendarDelegate"); delegateMap.put("org.gnu.gtk.event.CellRendererTextListener", "org.gnu.glade.CellRendererTextDelegate"); delegateMap.put("org.gnu.gtk.event.CheckMenuItemListener", "org.gnu.glade.CheckMenuItemDelegate"); delegateMap.put("org.gnu.gtk.event.ColorButtonListener", "org.gnu.glade.ColorButtonDelegate"); delegateMap.put("org.gnu.gtk.event.ComboBoxListener", "org.gnu.glade.ComboBoxDelegate"); delegateMap.put("org.gnu.gtk.event.ContainerListener", "org.gnu.glade.ContainerDelegate"); delegateMap.put("org.gnu.gtk.event.DialogListener", "org.gnu.glade.DialogDelegate"); delegateMap.put("org.gnu.gtk.event.EntryListener", "org.gnu.glade.EntryDelegate"); delegateMap.put("org.gnu.gtk.event.ExpanderListener", "org.gnu.glade.ExpanderDelegate"); delegateMap.put("org.gnu.gtk.event.ExposeListener", "org.gnu.glade.ExposeDelegate"); delegateMap.put("org.gnu.gtk.event.FocusListener", "org.gnu.glade.FocusDelegate"); delegateMap.put("org.gnu.gtk.event.FontButtonListener", "org.gnu.glade.FontButtonDelegate"); delegateMap.put("org.gnu.gtk.event.ItemListener", "org.gnu.glade.ItemDelegate"); delegateMap.put("org.gnu.gtk.event.KeyListener", "org.gnu.glade.KeyDelegate"); delegateMap.put("org.gnu.gtk.event.LifeCycleListener", "org.gnu.glade.LifeCycleDelegate"); delegateMap.put("org.gnu.gtk.event.MenuItemListener", "org.gnu.glade.MenuItemDelegate"); delegateMap.put("org.gnu.gtk.event.MouseListener", "org.gnu.glade.MouseDelegate"); delegateMap.put("org.gnu.gtk.event.MouseMotionListener", "org.gnu.glade.MouseMotionDelegate"); delegateMap.put("org.gnu.gtk.event.NotebookListener", "org.gnu.glade.NotebookDelegate"); delegateMap.put("org.gnu.gtk.event.OptionMenuListener", "org.gnu.glade.OptionMenuDelegate"); delegateMap.put("org.gnu.gtk.event.RangeListener", "org.gnu.glade.RangeDelegate"); delegateMap.put("org.gnu.gtk.event.ScaleListener", "org.gnu.glade.ScaleDelegate"); delegateMap.put("org.gnu.gtk.event.SpinListener", "org.gnu.glade.SpinDelegate"); delegateMap.put("org.gnu.gtk.event.TextBufferListener", "org.gnu.glade.TextBufferDelegate"); delegateMap.put("org.gnu.gtk.event.ToggleListener", "org.gnu.glade.ToggleDelegate"); delegateMap.put("org.gnu.gtk.event.ToolBarListener", "org.gnu.glade.ToolBarDelegate"); delegateMap.put("org.gnu.gtk.event.ToolButtonListener", "org.gnu.glade.ToolButtonDelegate"); delegateMap.put("org.gnu.gtk.event.TreeModelListener", "org.gnu.glade.TreeModelDelegate"); delegateMap.put("org.gnu.gtk.event.TreeSelectionListener", "org.gnu.glade.TreeSelectionDelegate"); delegateMap.put("org.gnu.gtk.event.TreeViewColumnListener", "org.gnu.glade.TreeViewColumnDelegate"); delegateMap.put("org.gnu.gtk.event.TextViewListener", "org.gnu.glade.TextViewDelegate"); delegateMap.put("org.gnu.gnome.AppBarListener", "org.gnu.glade.AppBarDelegate"); delegateMap.put("org.gnu.gnome.ClientListener", "org.gnu.glade.ClientDelegate"); delegateMap.put("org.gnu.gnome.ColorPickerListener", "org.gnu.glade.ColorPickerDelegate"); delegateMap.put("org.gnu.gnome.DateEditListener", "org.gnu.glade.DateEditDelegate"); delegateMap.put("org.gnu.gnome.DruidPageChangeListener", "org.gnu.glade.DruidPageDelegate"); delegateMap.put("org.gnu.gnome.DruidPageSetupListener", "org.gnu.glade.DruidPageDelegate"); delegateMap.put("org.gnu.gnome.FontPickerListener", "org.gnu.glade.FontPickerDelegate"); } } |
From: Leonardo M. <leo...@gm...> - 2005-03-18 11:00:34
|
I have the same configurations... jdk1.5.0 under fedora 3 packages from http://people.redhat.com/fitzsim/java-gnome/ --=20 Leonardo Marques=20 :@ Deleta logo esse outlook e esse internet explorer a=ED... :@ http://www.getfirefox.com - http://www.mozilla.org/products/thunderbird/ Bras=EDlia - DF |