📄 mainwindow.java
字号:
menubar.add(menu); // // View menu. // menu = new Menu(bundle.getString("menu.view")); item = new MenuItem(bundle.getString("menuitem.memoryusage")); item.addActionListener(new DialogOpener(MEMORY_USAGE)); menu.add(item); // item = new MenuItem(bundle.getString("menuitem.age")); // item.addActionListener(); // menu.add(item); item = new MenuItem(bundle.getString("menuitem.log")); item.addActionListener(new DialogOpener(SHOW_LOG)); menu.add(item); _javaConsoleMenuItem = new MenuItem(bundle.getString("menuitem.javaconsole")); _javaConsoleMenuItem .addActionListener(new DialogOpener(SHOW_JAVACON)); if (com.ibm.awb.launcher.Agletsd.console != null) { _javaConsoleMenuItem.setEnabled(true); } else { _javaConsoleMenuItem.setEnabled(false); } menu.add(_javaConsoleMenuItem); menubar.add(menu); // // Options menu. // menu = new Menu(bundle.getString("menu.options")); item = new MenuItem(bundle.getString("menuitem.general")); item.addActionListener(new DialogOpener(PREFERENCE1)); menu.add(item); item = new MenuItem(bundle.getString("menuitem.network")); item.addActionListener(new DialogOpener(PREFERENCE2)); menu.add(item); Resource res = Resource.getResourceFor("aglets"); if (res.getBoolean("aglets.secure", true)) { item = new MenuItem(bundle.getString("menuitem.security")); item.addActionListener(new DialogOpener(PREFERENCE3)); menu.add(item); } item = new MenuItem(bundle.getString("menuitem.server")); item.addActionListener(new DialogOpener(PREFERENCE4)); menu.add(item); menubar.add(menu); // // Tools menu // menu = new Menu(bundle.getString("menu.tools")); item = new MenuItem(bundle.getString("menuitem.gc")); item.addActionListener(new EventIssuer(GC)); menu.add(item); item = new MenuItem(bundle.getString("menuitem.threads")); item.addActionListener(new EventIssuer(SHOW_THREADS)); menu.add(item); item = new MenuItem(bundle.getString("menuitem.debug")); item.addActionListener(new EventIssuer(SHOW_DEBUG)); menu.add(item); item = new MenuItem(bundle.getString("menuitem.reftable")); item.addActionListener(new EventIssuer(SHOW_REFTABLE)); menu.add(item); /* * if (Tahiti.enableBox) { * menu.addSeparator(); * * item = new MenuItem(bundle.getString("menuitem.get")); * item.addActionListener(new EventIssuer(GET_AGLETS)); * menu.add(item); * } */ menubar.add(menu); // // Help menu // menu = new Menu(bundle.getString("menu.help")); item = new MenuItem(bundle.getString("menuitem.about_tahiti")); item.addActionListener(new DialogOpener(ABOUT_TAHITI)); menu.add(item); item = new MenuItem(bundle.getString("menuitem.about_aglets")); item.addActionListener(new DialogOpener(ABOUT_AGLETS)); menu.add(item); item = new MenuItem(bundle.getString("menuitem.release_notes")); item .addActionListener(new URLOpener(bundle .getString("http.release_notes"))); // "http://www.trl.ibm.co.jp/aglets/awb_1.0b1.html")); menu.add(item); item = new MenuItem(bundle.getString("menuitem.aglets_home_page")); item .addActionListener(new URLOpener(bundle .getString("http.aglets_home"))); // "http://www.trl.ibm.co.jp/aglets/index.html" menu.add(item); item = new MenuItem(bundle.getString("menuitem.feedback")); item .addActionListener(new URLOpener(bundle .getString("http.feedback"))); // "http://aglets.trl.ibm.co.jp/report.html" menu.add(item); item = new MenuItem(bundle.getString("menuitem.bug_report")); item .addActionListener(new URLOpener(bundle .getString("http.bug_report"))); // "http://aglets.trl.ibm.co.jp/report.html" menu.add(item); item = new MenuItem(bundle.getString("menuitem.faq")); item.addActionListener(new URLOpener(bundle.getString("http.faq"))); // "http://www.trl.ibm.co.jp/aglets/faq.html" menu.add(item); menubar.setHelpMenu(menu); return menubar; } public void reboot() { _tahiti.reboot(); } synchronized void removeProxyFromList(AgletProxy proxy) { AgletProxy p = null; try { text.remove(proxy); if (shrink) { return; } for (int i = _itemList.size() - 1; i >= 0; i--) { p = ((TahitiItem)_itemList.elementAt(i)).getAgletProxy(); if (p.isValid() == false) { _itemList.removeElementAt(i); _agletList.remove(i); } } updateGUIState(); /* * } else { * System.out.println("Not Found!: " + proxy.getAgletInfo()); * } */ } catch (Exception ex) { ex.printStackTrace(); } catch (Throwable t) { t.printStackTrace(); } } public void restoreSize() { Resource res = Resource.getResourceFor("tahiti"); setSize(res.getInteger("tahiti.window.width", 100), res.getInteger("tahiti.window.height", 100)); } public void retractAglet(AgletProxy p) { new Thread(new TahitiEventHandler(RETRACT, p)).start(); } /* * Handles the event * public boolean handleEvent(Event event) { * Thread handler; * AgletProxy proxy; * String remote_host; * InterruptWindow itrptWin; * * case CREATE_AGLET: * remote_host = (String)event.target; * String aglet_class = ((String)event.arg).trim(); * * itrptWin = new InterruptWindow(this, * "Aglet Creation", * "Creating Aglet", * (remote_host.toLowerCase().startsWith("http://") ? * remote_host + "/" : remote_host) + aglet_class); * * handler = new TahitiEventThread(this, itrptWin, event); * itrptWin.setHandler(handler); * handler.start(); * itrptWin.popup(this); * * break; * * case DISPATCH_AGLET: * proxy = (AgletProxy)event.target; * remote_host = ((String)event.arg).trim(); * * itrptWin = new InterruptWindow(this, * "Aglet Dispatch", * "Dispatching Aglet", * remote_host); * handler = new TahitiEventThread(this, itrptWin, event); * itrptWin.setHandler(handler); * handler.start(); * itrptWin.popup(this); * break; * case RETRACT_AGLET: * URL agletURL = (URL)event.target; * * itrptWin = new InterruptWindow(this, * "Aglet Retract", * "Retracting Aglet", * agletURL.getHost()); * handler = new TahitiEventThread(this, itrptWin, event); * itrptWin.setHandler(handler); * handler.start(); * itrptWin.popup(this); * break; * default: * return false; * } * return true; * } else { * return super.handleEvent(event); * } * return false; * } */ void saveSize() { java.awt.Rectangle bounds = getBounds(); Resource res = Resource.getResourceFor("tahiti"); res.setResource("tahiti.window.x", String.valueOf(bounds.x)); res.setResource("tahiti.window.y", String.valueOf(bounds.y)); if (!shrink) { res.setResource("tahiti.window.width", String.valueOf(bounds.width)); res.setResource("tahiti.window.height", String.valueOf(bounds.height)); res.setResource("tahiti.window.shrinked", "false"); } else { res.setResource("tahiti.window.shrinked", "true"); res.setResource("tahiti.window.s_width", String.valueOf(bounds.width)); res.setResource("tahiti.window.s_height", String.valueOf(bounds.height)); } } public void setFont(Font f) { MenuBar menubar = getMenuBar(); if (menubar != null) { menubar.setFont(f); int c = menubar.getMenuCount(); for (int i = 0; i < c; i++) { Menu m = menubar.getMenu(i); m.setFont(f); } } super.setFont(f); doLayout(); } // Updates the message line. // @param message the new message. // void setMessage(String message) { _messageLine.setText(message); } void showButtons() { _dialogButton.setVisible(true); _infoButton.setVisible(true); _disposeButton.setVisible(true); _cloneButton.setVisible(true); _dispatchButton.setVisible(true); } static private void showThreadGroup(ThreadGroup g, int level) { int i; String indent = " ".substring(0, level); System.out.println(indent + "{" + g.toString() + "}"); int n = g.activeCount(); if (n > 0) { System.out.println(indent + " + Threads"); Thread t[] = new Thread[g.activeCount()]; g.enumerate(t); for (i = 0; i < t.length; i++) { if (g == t[i].getThreadGroup()) { System.out.println(indent + " - " + t[i].toString() + (t[i].isAlive() ? " alive" : " dead")); } } } n = g.activeGroupCount(); if (n > 0) { System.out.println(indent + " + ThreadGroups"); ThreadGroup tg[] = new ThreadGroup[n]; g.enumerate(tg); for (i = 0; i < tg.length; i++) { if (g == tg[i].getParent()) { showThreadGroup(tg[i], level + 4); } } } } static void showThreads() { ThreadGroup g = null; for (g = Thread.currentThread().getThreadGroup(); g.getParent() != null; g = g.getParent()) {} showThreadGroup(g, 0); } // ------------------------------------------------------------------- // -- Window updating void showURL(String url) { Resource res = Resource.getResourceFor("tahiti"); String command = res.getString("tahiti.browser_command", null); if (command != null) { try { StringTokenizer st = new StringTokenizer(command); final String cmdarray[] = new String[st.countTokens() + 1]; int count = 0; while (st.hasMoreTokens()) { cmdarray[count++] = st.nextToken(); } cmdarray[count] = url; AccessController .doPrivileged(new PrivilegedExceptionAction() { public Object run() throws IOException { Runtime.getRuntime().exec(cmdarray); return null; } }); } catch (Exception ex) { ex.printStackTrace(); } } } /* * Shows the given dialog at the center */ private void showWindow(Window window) {} public void shutdown() { _tahiti.exit(); } void updateGUIState() { int indexes[] = _agletList.getSelectedIndexes(); boolean single = indexes.length == 1; boolean multiple = indexes.length >= 1; _dialogMenuItem.setEnabled(single); _dialogButton.setEnabled(single); _disposeMenuItem.setEnabled(multiple); _disposeButton.setEnabled(multiple); _killMenuItem.setEnabled(single); _cloneMenuItem.setEnabled(single); _cloneButton.setEnabled(single); _infoMenuItem.setEnabled(single); _infoButton.setEnabled(single); _dispatchMenuItem.setEnabled(single); _dispatchButton.setEnabled(single); // _retractMenuItem.setEnabled(); _retractButton.setEnabled(); _deactivateMenuItem.setEnabled(single); _activateMenuItem.setEnabled(single); } synchronized void updateProxyInList(AgletProxy proxy) { TahitiItem tahitiItem = null; if (shrink) { return; } int selected = _agletList.getSelectedIndex(); int index = -1; for (int i = 0; i < _itemList.size(); i++) { tahitiItem = (TahitiItem)_itemList.elementAt(i); if (tahitiItem.checkProxy(proxy)) { _agletList.replaceItem(getItemText(tahitiItem), i); index = i; if (index == selected) { _agletList.select(index); } } } updateGUIState(); } public synchronized void updateProxyList() { // return all _agletList.removeAll(); _itemList.setSize(0); // System.out.println("updateProxyList()"); Enumeration e = Tahiti.CONTEXT.getAgletProxies(); while (e.hasMoreElements()) { insertProxyToList((AgletProxy)e.nextElement()); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -