Skip to content

Commit 9a950bf

Browse files
authored
Merge pull request #205 from BobHanson/master
// BH 2022.09.14 fix for new Error() failing; just letting java.lang.Error subclass Throwable
2 parents 9dce844 + ce8307b commit 9a950bf

File tree

10 files changed

+1034
-784
lines changed

10 files changed

+1034
-784
lines changed
813 Bytes
Binary file not shown.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20220831192432
1+
20220915081800
813 Bytes
Binary file not shown.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20220831192432
1+
20220915081800
808 Bytes
Binary file not shown.
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package test;
2+
3+
import java.beans.PropertyChangeEvent;
4+
import java.beans.PropertyChangeListener;
5+
6+
import javax.swing.JDesktopPane;
7+
import javax.swing.JDialog;
8+
import javax.swing.JFrame;
9+
import javax.swing.JOptionPane;
10+
import javax.swing.SwingUtilities;
11+
12+
import javajs.async.SwingJSUtils;
13+
14+
public class DialogsTest extends JFrame {
15+
16+
private class PCLPane extends JDesktopPane implements PropertyChangeListener {
17+
@Override
18+
public void propertyChange(PropertyChangeEvent evt) {
19+
String name = evt.getPropertyName();
20+
System.out.println(name);
21+
if (name.equals("value")) {
22+
handlePropEvent(evt.getNewValue());
23+
}
24+
}
25+
}
26+
27+
DialogsTest() {
28+
setDefaultCloseOperation(EXIT_ON_CLOSE);
29+
setBounds(0, 0, 800, 600);
30+
setVisible(true);
31+
// For JavaScript, we need a property change listener.
32+
setContentPane(new PCLPane());
33+
34+
JOptionPane pane = new JOptionPane("I'm a banana");
35+
JDialog dialog = pane.createDialog(getContentPane(), "Hello!");
36+
dialog.setVisible(true);
37+
if (/** @j2sNative false && */
38+
true)
39+
report("done");
40+
// JavaScript continues....
41+
}
42+
43+
public void handlePropEvent(Object newValue) {
44+
System.out.println("value was " + newValue);
45+
report("done");
46+
}
47+
48+
private void report(String string) {
49+
System.out.println(string);
50+
JOptionPane.showMessageDialog(this, "I'm a Banana");
51+
System.out.println("ok");
52+
53+
}
54+
55+
public static void main(String[] args) {
56+
SwingUtilities.invokeLater(DialogsTest::new);
57+
}
58+
59+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package test;
2+
3+
public class Test_Error extends Test_{
4+
5+
public static void main(String[] args) {
6+
7+
new Test_Error().testError();
8+
9+
try {
10+
//throw new NullPointerException("testing NPE");
11+
/**
12+
* @j2sNative asdlj()
13+
*/
14+
} catch (Throwable e) {
15+
e.printStackTrace();
16+
boolean b = (e instanceof Error);
17+
System.out.println(b);
18+
}
19+
System.out.println("Test_Error OK");
20+
}
21+
22+
private void testError() {
23+
Error x;
24+
x = new LinkageError("test");
25+
x.printStackTrace();
26+
x = new Error("test");
27+
x.printStackTrace();
28+
}
29+
}

sources/net.sf.j2s.java.core/srcjs/js/j2sApplet.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2843,6 +2843,8 @@ if (ev.keyCode == 9 && ev.target["data-focuscomponent"]) {
28432843
__nextExecution();
28442844
};
28452845

2846+
proto.__startAppletJS.j2sname = "__START_APPLET__";
2847+
28462848
if (!proto._restoreState)
28472849
proto._restoreState = function(clazzName, state) {
28482850
// applet-dependent

0 commit comments

Comments
 (0)