object ClassOf { val Component: Class[_ <: AnyRef] = Class.forName("java.awt.Component") val JConsole: Class[_ <: AnyRef] = Class.forName("sun.tools.jconsole.JConsole") val LocalVirtualMachine: Class[_ <: AnyRef] = Class.forName("sun.tools.jconsole.LocalVirtualMachine") val Messages: Class[_ <: AnyRef] = Class.forName("sun.tools.jconsole.Messages") val ProxyClient: Class[_ <: AnyRef] = Class.forName("sun.tools.jconsole.ProxyClient") val Resources: Class[_ <: AnyRef] = Class.forName("sun.tools.jconsole.Resources") val VMPanel: Class[_ <: AnyRef] = Class.forName("sun.tools.jconsole.VMPanel")
}
/* default arguments */
def default_pid: Long = ProcessHandle.current().pid val default_update_interval: Time = Time.seconds(3)
/* java monitor on this JVM: asynchronous GUI application with with system exit */
def java_monitor_internal(
pid: Long = default_pid,
look_and_feel: String = "",
update_interval: Time = default_update_interval
): Unit = { val vm = if (pid.toInt.toLong == pid) {
Untyped.the_method(ClassOf.LocalVirtualMachine, "getLocalVirtualMachine")
.invoke(null, pid.toInt)
} elsenull if (vm == null) error("Bad JVM process " + pid)
GUI_Thread.later {
proper_string(look_and_feel) match { case None => case Some(laf) =>
UIManager.setLookAndFeel(laf)
System.setProperty("swing.defaultlaf", laf)
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.