Closed
Bug 437988
Opened 17 years ago
Closed 17 years ago
Rhino fails to implement abstract method
Categories
(Rhino Graveyard :: Compiler, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: norrisboyd, Assigned: norrisboyd)
Details
Using this:
var tableModel = new AbstractTableModel() {
getRowCount: function() { return 2; },
getColumnCount: function() { return 2; },
getValueAt: function(row, column) {
return "ABC";
}
};
var jTable = new JTable(tableModel);
results in this:
Exception in thread "main" java.lang.AbstractMethodError:
adapter1.getColumnCount()I
at javax.swing.JTable.createDefaultColumnsFromModel(Unknown Source)
at javax.swing.JTable.tableChanged(Unknown Source)
at javax.swing.JTable.setModel(Unknown Source)
at javax.swing.JTable.<init>(Unknown Source)
at javax.swing.JTable.<init>(Unknown Source)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.mozilla.javascript.MemberBox.newInstance(MemberBox.java:184)
at
org.mozilla.javascript.NativeJavaClass.constructSpecific(NativeJavaClass.java:274)
at
org.mozilla.javascript.NativeJavaClass.construct(NativeJavaClass.java:193)
at
org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3380)
at
...
Same error also for:
var tableModel = new JavaAdapter(AbstractTableModel, {
getRowCount: function() { return 2; },
getColumnCount: function() { return 2; },
getValueAt: function(row, column) {
return "ABC";
}
});
var jTable = new JTable(tableModel);
| Assignee | ||
Comment 1•17 years ago
|
||
Bug was that Rhino didn't discover abstract methods defined only in interfaces of base classes.
Fixed:
Checking in src/org/mozilla/javascript/JavaAdapter.java;
/cvsroot/mozilla/js/rhino/src/org/mozilla/javascript/JavaAdapter.java,v <-- JavaAdapter.java
new revision: 1.115; previous revision: 1.114
done
RCS file: /cvsroot/mozilla/js/rhino/testsrc/jstests/437988.jstest,v
done
Checking in testsrc/jstests/437988.jstest;
/cvsroot/mozilla/js/rhino/testsrc/jstests/437988.jstest,v <-- 437988.jstest
initial revision: 1.1
done
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Comment 2•16 years ago
|
||
It still does not work with javax.swing.AbstractAction:
Example:
importPackage(javax.swing)
var action = new AbstractAction() {
actionPerformed: function(event) {
print("clicked")
}
}
var button = new JButton(action)
button.doClick()
Result:
Exception in thread "main" java.lang.AbstractMethodError: adapter1.actionPerformed(Ljava/awt/event/ActionEvent;)V
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:374)
at javax.swing.AbstractButton.doClick(AbstractButton.java:354)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:161)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:247)
at org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:119)
at org.mozilla.javascript.gen.c1._c0(Unknown Source)
at org.mozilla.javascript.gen.c1.call(Unknown Source)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065)
at org.mozilla.javascript.gen.c1.call(Unknown Source)
at org.mozilla.javascript.gen.c1.exec(Unknown Source)
at org.mozilla.javascript.tools.shell.Main.evaluateScript(Main.java:564)
at org.mozilla.javascript.tools.shell.Main.processFileSecure(Main.java:486)
at org.mozilla.javascript.tools.shell.Main.processFile(Main.java:452)
at org.mozilla.javascript.tools.shell.Main.processSource(Main.java:443)
at org.mozilla.javascript.tools.shell.Main.processFiles(Main.java:196)
at org.mozilla.javascript.tools.shell.Main$IProxy.run(Main.java:117)
at org.mozilla.javascript.Context.call(Context.java:515)
at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:507)
at org.mozilla.javascript.tools.shell.Main.exec(Main.java:179)
at org.mozilla.javascript.tools.shell.Main.main(Main.java:157)
Rhino version:
Rhino 1.7 release 0.7.r2.fc12 2009 07 28
You need to log in
before you can comment on or make changes to this bug.
Description
•