📄 net.java
字号:
// Aktiver scrollbarer lnTop.activate(); lnBottom.activate(); // Oppdater PopupMenu med liste over mulige vlan e = vlanSet.elements(); vlanMenu.clear(); vlanMenu.setMenuLabel("View other vlan at "+n.getName()); com.d("vlanSet size: " + vlanSet.size(), 5); while (e.hasMoreElements()) { String vlan = (String)e.nextElement(); String[] vlanName = (String[])lVlanNames.get(vlan); if (vlanName == null) continue; Vlan vl = new Vlan(Integer.parseInt(vlan), vlanName[1]); com.d(" Added to vlanMenu: " + vlan + " vlanName: " + vlanName[1], 6); vlanMenu.addMenuItem(vl); } vlanMenu.sort(); vlanMenu.refresh(); // Hent og legg til last-data Hashtable lBoksText = (Hashtable)h.get("listBoksText"); Hashtable lLinkText = (Hashtable)h.get("listLinkText"); if (APPLY_LAST_VLANV) { applyLast(lBoksText, lLinkText); } // Så legger vi til tekst for alle bokser String[] tList; int tcnt=0; while ( (tList = (String[])lBoksText.get("t"+tcnt)) != null) { String text = tList[1]; for (int j=2; j < tList.length; j++) { String[] data = (String[])lBoksText.get(tList[j]); if (data == null) { com.d("ERROR in getNettelLinks(), boksid "+tList[j]+" in t"+tcnt+" is not found in list, check vPServer", 2); continue; } Nettel nettel = (Nettel)nh.get(tList[j]); if (nettel == null) { //com.d("ERROR in getNettelLinks(), could not find boks with id "+tList[j], 2); continue; } nettel.processText(text, data); } tcnt++; } com.d("Behandler listRouterLinkText", 2); tcnt=0; while ( (tList = (String[])lLinkText.get("t"+tcnt)) != null) { String text = tList[1]; for (int j=2; j < tList.length; j++) { String[] data = (String[])lLinkText.get(tList[j]); if (data == null) { com.d("ERROR in getNettelLinks(), linkid "+tList[j]+" in t"+tcnt+" is not found in list, check vPServer", 2); continue; } Link l = (Link)lh.get(tList[j]); if (l == null) { //com.d("ERROR in getNettelLinks(), could not find link with id "+tList[j], 2); continue; } String pText = l.processText(text, data); //com.d(" Added text: " + pText, 6); } tcnt++; } com.d("------------------------------------------------------------------------", 1); } private void setConfig(Hashtable lConfig) { String[] s = (String[])lConfig.get("vpNetName"); netName = s[1]; s = (String[])lConfig.get("vpNetLink"); netLink = s[1]; s = (String[])lConfig.get("domainSuffix"); domainSuffix = s[1]; s = (String[])lConfig.get("userName"); if (s != null) com.d("Found userName: " + s[1], 1); s = (String[])lConfig.get("hasAdmin"); if (s != null) { com.d("hasAdmin: " + s[1], 1); com.getAdmin().setHasAdmin(new Boolean(s[1]).booleanValue()); //com.getAdmin().setHasAdmin(true); } if (com.getAdmin().getHasAdmin()) { com.getLeft().showAdminButton(); } setConfig = true; } public void recalcLinks() { // recalc() alle linker Enumeration e = nh.elements(); while (e.hasMoreElements()) { Nettel n = (Nettel)e.nextElement(); n.recalcLink(); } } public void refreshNettel() { refreshNettel(false); } public void refreshNettel(boolean force) { if (!force && !needReset) return; needReset = false; try { com.getMainPanel().setWaitCursor(); if (visNettel == null) showBynett(); else showNettel(); if (visGruppe == -1) com.getLeft().setNettNavn(""); // Vis blankt menyvalg error = false; } catch (ServerFetchException e) { error = true; errorMsg = e.getMessage(); } finally { repaint(); com.getMainPanel().setDefaultCursor(); } } private void showBynett() { buildBynett(); } private void showNettel() { visNettel.setSelected(true); visNettel.resetLink(); getNettelLinks(visNettel); // lager en ny nettel Vector med de nye nettel-objektene group.removeAllElements(); } public void recordHistory() { if (!recordHistory) return; if (visNettel == null) { // Vi befinner oss i en gruppe, record den history.push(visGruppeNavn); history.push("-"+visGruppe); com.d("Record history: " + "-"+visGruppe,5); } else { // Vis befinner oss på en nettel, record den history.push(visNettel.getHashKey()); com.d("Record history: " + visNettel.getHashKey(),5); } } public void reverseHistory() { if (history.isEmpty()) return; String s = (String)history.pop(); com.d("Reverse to: " + s,5); int k = Integer.parseInt(s); recordHistory = false; if (k <= 0) { k *= -1; // Oppdater GUI-menyen med rett gruppe com.getLeft().setNettIndex(k); String grpNavn = (String)history.pop(); com.getNet().setVisGruppe(k, grpNavn); com.d("Refresh nettel...",6); com.getNet().refreshNettel(); } else { if (!nh.containsKey(s)) { com.d("Error!! Not found in nh, no path back...",5); recordHistory = true; Enumeration e = nh.keys(); while (e.hasMoreElements()) { com.d("Key: " + e.nextElement(),6); } return; } Nettel n = (Nettel)nh.get(s); n.disablePopup(); if (n.getKat().equals("gw")) n.setVlan(0); com.getNet().setVisNettel(n); com.d("Refresh nettel...",6); com.getNet().refreshNettel(); } recordHistory = true; } public void paint(Graphics g) { // Initialize or reset the off-screen buffer if needed if (bufferWidth != getSize().width || bufferHeight != getSize().height || bufferImage == null || bufferGraphics == null) resetBuffer(); if (bufferGraphics != null) { // Clear the off-screen buffer bufferGraphics.clearRect(0, 0, bufferWidth, bufferHeight); // Paint an off-screen image paintBuffer(bufferGraphics); // Dump the buffered image onto the canvas g.drawImage(bufferImage, 0,0, this); } } public void paintBuffer(Graphics g) { final int ANTALL_PASS = 5; if (error) { drawErrorMsg(g, errorMsg); return; } drawBackKnapp(g); drawOverskrift(g); for (int i = 0; i < group.size(); i++) { Grp grp = (Grp)group.elementAt(i); if (!grp.getHideicons()) grp.drawSelf(g); } for (int i = 1; i <= ANTALL_PASS; i++) { Enumeration e = nh.elements(); while (e.hasMoreElements()) { Nettel n = (Nettel)e.nextElement(); n.drawSelf(g, i); } } for (int i = 0; i < group.size(); i++) { Grp grp = (Grp)group.elementAt(i); if (grp.getHideicons()) grp.drawSelf(g); } } public void itemStateChanged(ItemEvent e) { String nettNavn = ((Choice)e.getSource()).getSelectedItem(); if (nettNavn.equals("")) { // Valg det tomme elementet, ikke lov if (visGruppe == -1) return; com.getLeft().setNettIndex(visGruppe); } if (nettNavn.startsWith("Vis ")) { nettNavn = nettNavn.substring(4, nettNavn.length()); } int nett = ((Choice)e.getSource()).getSelectedIndex(); com.d(" ->Bytter nett til: " + nett + " ("+nettNavn+")", 2); com.getNet().setVisGruppe(nett, nettNavn); com.getNet().refreshNettel(); } public void drawErrorMsg(Graphics g, String msg) { int startX = 15; int startY = 15; g.setColor(Color.black); g.drawString("An error occured fetching data from server:", startX+3, startY+15); g.drawString(msg, startX+3, startY+35); } public void drawBackKnapp(Graphics g) { int startX = 15; int startY = 3; int sizeX = 45; int sizeY = 20; backKnapp = new Polygon(); backKnapp.addPoint(startX, startY); backKnapp.addPoint(startX+sizeX, startY); backKnapp.addPoint(startX+sizeX, startY+sizeY); backKnapp.addPoint(startX, startY+sizeY); // kant-linjen på knappen g.setColor(Color.black); g.drawPolygon(backKnapp); // bakgrunns-fargen på knappen g.setColor(Color.lightGray); g.fillPolygon(backKnapp); // teksten på knappen g.setColor(Color.black); g.drawString("Back", startX+3, startY+15); } public void drawOverskrift(Graphics g) { int startX = 70; int startY = 5; g.setColor(Color.black); g.setFont(overskriftFont); g.drawString(overskrift, startX+3, startY+15); } public boolean isBackKnappClicked(int clickX, int clickY) { return backKnapp.contains(clickX, clickY); } public void setVisGruppe(int inVisGruppe, String inVisGruppeNavn) { if (visGruppe != inVisGruppe) { needReset = true; com.getNet().setVisNettel(null); recordHistory(); } visGruppe = inVisGruppe; visGruppeNavn = inVisGruppeNavn; } public int getVisGruppe() { return visGruppe; } public int getVisGruppeid() { return ((Integer)gruppeIdMap.get(visGruppeNavn)).intValue(); } public void setNeedReset(boolean b) { needReset = b; } public void setOverskrift(String s) { overskrift = s; } public void settFarge(Color c) { color = c; } public Vector getGrp() { return group; } public Hashtable getNettelHash() { return nh; } public Hashtable getLinkHash() { return lh; } public Nettel getVisNettel() { return visNettel; } public void setVisNettel(Nettel InVisNettel) { if (InVisNettel != null && visNettel == InVisNettel && visVlan != InVisNettel.getVlan()) needReset = true; if (visNettel != InVisNettel) needReset = true; if (needReset) recordHistory(); if (needReset && InVisNettel != null) { visGruppe = -1; // Vi viser nå ingen gruppe } visNettel = InVisNettel; } public void changeVisVlan(int vlan) { if (visNettel == null || visNettel.getVlan() == 0) return; // Kan ikke skifte vlan com.d("Changing visVlan: " + vlan, 3); visNettel.setVlan(vlan); setVisNettel(visNettel); refreshNettel(); } public void setVisVlan(int InVisVlan) { visVlan = InVisVlan; } public int getVisVlan() { return visVlan; } public boolean getVlanVandring() { return vlanVandring; } public boolean getBynettView() { return bynettView; } public void showVlanPopupMenu(int x, int y) { vlanMenu.show(this, x, y); } public void update(Graphics g) { paint(g); } private void resetBuffer() { // Make sure the buffer is always the same size as the panel bufferWidth = getSize().width; bufferHeight = getSize().height; // Clean up the old image if (bufferGraphics != null) { bufferGraphics.dispose(); bufferGraphics = null; } if (bufferImage != null) { bufferImage.flush(); bufferImage = null; } System.gc(); // Create the new buffer with the size of the panel bufferImage = createImage(bufferWidth, bufferHeight); bufferGraphics = bufferImage.getGraphics(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -