!752 static JTable tbl; static int delay = 3000; static boolean withVMs = true; p { tbl = showTable("Local VMs"); getFrame(tbl).setBounds(10, 10, 400, 400); updateList(); installTimer(tbl, runnable { updateList(); }, delay); } static new MonoThread update; !include #1001434 // MonoThread static void updateList() { update.run(runnable { new L l; for (ProgramScan.Program p : quickBotScan()) { if (startsWithIgnoreCase(p.helloString, "This is a JavaX VM.")) { S botName = firstPartOfHelloString(p.helloString); S vmID = sendToLocalBot(p.port, "get vm id"); l.add(litmap("VM Name", botName, "Port", p.port, "VM ID", vmID)); } } // sortByField(l, "bla"); dataToTable(tbl, l); setFrameTitle(tbl, n(l(l), "local VM")); }); }