29
29
30
30
class DebugWindow {
31
31
32
- private static final PrintStream sysOut = System .out ;
33
- private static final PrintStream sysErr = System .err ;
34
32
private static final Stage debugStage = new Stage ();
35
- private static final PrintStream myPrintStream ;
36
33
37
34
static {
38
35
var vBox = new VBox ();
@@ -45,41 +42,31 @@ class DebugWindow {
45
42
vBox .getChildren ().add (textArea );
46
43
debugStage .setTitle ("Debug Log" );
47
44
debugStage .setScene (new Scene (vBox ));
48
- debugStage .setOnCloseRequest ((event ) -> {
49
- hide ();
50
- event .consume ();
45
+ final PrintStream sysOut = System .out ;
46
+ final PrintStream sysErr = System .err ;
47
+ debugStage .setOnHiding (_ -> {
48
+ System .setOut (sysOut );
49
+ System .setErr (sysErr );
51
50
});
52
51
53
- myPrintStream = new PrintStream (new OutputStream () {
52
+ final var myPrintStream = new PrintStream (new OutputStream () {
54
53
@ Override
55
54
public void write (int b ) {
56
55
sysOut .write (b );
57
- Utils .runSafe (() -> textArea .appendText (String . valueOf (( char ) b )));
56
+ Utils .runSafe (() -> textArea .appendText (Character . toString ( b )));
58
57
}
59
58
});
60
- }
61
-
62
- static void show () {
63
- debugStage .show ();
64
- System .setOut (myPrintStream );
65
- System .setErr (myPrintStream );
66
- }
67
-
68
- static void hide () {
69
- debugStage .hide ();
70
- System .setOut (sysOut );
71
- System .setErr (sysErr );
72
- }
73
-
74
- static boolean isShowing () {
75
- return debugStage .isShowing ();
59
+ debugStage .setOnShowing (_ -> {
60
+ System .setOut (myPrintStream );
61
+ System .setErr (myPrintStream );
62
+ });
76
63
}
77
64
78
65
static void toggleShowing () {
79
- if (isShowing ()) {
80
- hide ();
66
+ if (debugStage . isShowing ()) {
67
+ debugStage . hide ();
81
68
} else {
82
- show ();
69
+ debugStage . show ();
83
70
}
84
71
}
85
72
0 commit comments