!7 sclass SystemVersion extends DynTextArea { Int comp, compJavaX; void start { setText(padWithEmptyLines(centerPad("Checking...", 50), 10)); thread { comp = compareTranspilationDateWithServer(creator()); try { compJavaX = compareTranspilationDateWithServer(javax()); } catch e { printException(e); compJavaX = -1; } setText(linesLL( "System identified as: " + linuxWindowsMac(), "Java version: " + javaVersion(), "Java directory: " + envJavaHome(), "JavaX version: " + javaxVersion(), " On server: " + (compJavaX == null ? "Unknown" : compJavaX == 0 ? "SAME" : compJavaX < 0 ? "NEWER" : "OLDER (?)"), "Stefan's OS version: " + formatTranspilationDate(creator()), " On server: " + (comp == null ? "Unknown" : comp == 0 ? "SAME" : comp < 0 ? "NEWER" : "OLDER (?)") ); } } JComponent visualize() { ret centerAndSouth(super.visualize(), withMargin(jcenteredbuttons("Upgrade JavaX", disableAllButtonsWhileCalcing(r { setText("Upgrading JavaX..."); runDependent(#1001639); dm_restartOS() }), "Upgrade Stefan's OS", r dm_restartOS))); } }