Skip to content

Commit f07c632

Browse files
committed
// BH 2022.09.14 fix for new Error() failing; just letting
java.lang.Error subclass Throwable
1 parent d5de496 commit f07c632

File tree

10 files changed

+1022
-784
lines changed

10 files changed

+1022
-784
lines changed
123 Bytes
Binary file not shown.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20220831192432
1+
20220914134307
123 Bytes
Binary file not shown.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20220831192432
1+
20220914134307
642 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: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
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+
}
17+
System.out.println("Test_Error OK");
18+
}
19+
20+
private void testError() {
21+
Error x;
22+
x = new LinkageError("test");
23+
x.printStackTrace();
24+
x = new Error("test");
25+
x.printStackTrace();
26+
}
27+
}

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)