/** Update favorite menu with resource. */ public void updateFavoriteMenu() { final Vector favorites = resource.getFavorites(); favoriteItems = new JMenuItem[favorites.size()]; historyMenu.removeAll(); // 顯示目前我的最愛內容 for (int i = 0; i < favorites.size(); i++) { final Site fa = (Site) favorites.elementAt(i); favoriteItems[i] = new JMenuItem(fa.getName()); favoriteItems[i].setToolTipText(fa.getHost() + ":" + fa.getPort()); // $NON-NLS-1$ favoriteItems[i].addActionListener(actionController); historyMenu.add(favoriteItems[i]); } }
/** * Connect to the site at certain index of tab page. * * @param site site to be connected. * @param index the index of tab page corresponding to this site. */ public void connect(final Site site, final int index) { final SessionPane session = new SessionPane(site, terminalImage); // index 為連線後放在第幾個分頁,若為 -1 表開新分頁。 if (index == -1) { model.getSessions().add(session); // 一開始預設 icon 是連線中斷 final ImageIcon icon = closedIcon; tabbedPane.addTab(site.getName(), icon, session, site.getHost()); tabbedPane.setSelectedIndex(tabbedPane.getTabCount() - 1); } else { model.getSessions().setElementAt(session, index); tabbedPane.setComponentAt(index, session); } // 每個 session 都是一個 thread, 解決主程式被 block 住的問題。 new Thread(session).start(); }