package com.zg.component.ui.vlanchannel; import javax.swing. * ; import java.util. * ; import java.awt. * ; import java.awt.event. * ; import javax.swing. * ; import javax.swing.event. * ; import com.zg.ems.client.util. * ; public class PortChannelConfigDlg extends JDialog implements ActionListener ... { public final static int Only_Port_Type = 1; //只显示端口 public final static int Port_Channel_Type = 2; //端口,通道都显示 public final static int Binding = 1; public final static int Unbinding = 2; public final static int BindingDefault = 0; private BorderLayout borderLayout1 = new BorderLayout(); private BorderLayout borderLayout2 = new BorderLayout(); private BorderLayout borderLayout3 = new BorderLayout(); private BorderLayout borderLayout4 = new BorderLayout(); private BorderLayout borderLayout5 = new BorderLayout(); private BorderLayout borderLayout6 = new BorderLayout(); private GridBagLayout gridBagLayout1 = new GridBagLayout(); private GridBagLayout gridBagLayout2 = new GridBagLayout(); private JPanel toppanel = new JPanel(); private JPanel leftpanel = new JPanel(); private JPanel rightpanel = new JPanel(); private JPanel footpanel = new JPanel(); private JPanel centerpanel = new JPanel(); private JLabel jLabel1 = new JLabel(); private JLabel jLabel2 = new JLabel(); private JLabel jLabel3 = new JLabel(); private JLabel titleLabel = new JLabel(); private JPanel cardpanel = new JPanel(); private JPanel portpanel = new JPanel(); private JPanel chosedpanel = new JPanel(); private JPanel footPanel = new JPanel(); private JPanel buttonPanel = new JPanel(); private JPanel jPanel3 = new JPanel(); private JPanel jPanel4 = new JPanel(new FlowLayout(FlowLayout.LEFT)); private JPanel channelPanel = new JPanel(); private JScrollPane cardScrollPane = new JScrollPane(); private JScrollPane portScrollPane = new JScrollPane(); private JScrollPane choosedScrollPane = new JScrollPane(); private JButton addButton = new JButton(); private JButton delButton = new JButton(); private JButton clearAllButton = new JButton(); private JButton allChoiceButton = new JButton(); private JButton orderButton = new JButton(); private JButton clearResultButton = new JButton(); private JButton okButton = new JButton(); private JButton cancleButton = new JButton(); private JCheckBox[] portcheckboxs = new JCheckBox[32]; private JCheckBox[][] chanlecheckboxs = new JCheckBox[32][8]; JList choosedList = new JList(); private static JList cardlist; private DefaultListModel choosedList_model = new DefaultListModel(); private int[] hasCardIndex; //在线的板卡号,从1开始,主控盘为17或18号盘 private int portType; //取两个值Only_Port_Type和Port_Channel_Type private int currentCard = 1; //当前正在配置的板卡 private HashMap portState = new HashMap(18);//端口状态 private String portList;//PortList字符串,十六进制 private static PortChannelConfigDlg vlanPortChannelDlg = null; private HashMap portlistMap;//PortList对应的名称及其PortList对 private String portlistName;//PortList对应的名称 private int bindingType = 0; //1:绑定,2:解绑定,0:普通 /** *//** * 单例 */ public static PortChannelConfigDlg getInstance(Window owner, int[] hasCardIndex, int portType, String portlistName) ...{ if (vlanPortChannelDlg != null) ...{ vlanPortChannelDlg.portlistName = portlistName; vlanPortChannelDlg.hasCardIndex = hasCardIndex; vlanPortChannelDlg.portType = portType; vlanPortChannelDlg.initCardPanel(); vlanPortChannelDlg.initPortState(); if (vlanPortChannelDlg.cardlist != null) ...{ vlanPortChannelDlg.cardlist.setSelectedIndex(0); } vlanPortChannelDlg.choosedList_model.clear(); vlanPortChannelDlg.choosedList.setModel(vlanPortChannelDlg. choosedList_model); } else ...{ if (owner instanceof Frame) ...{ vlanPortChannelDlg = new PortChannelConfigDlg( (Frame) owner, hasCardIndex, portType, portlistName); } else if (owner instanceof Dialog) ...{ vlanPortChannelDlg = new PortChannelConfigDlg( (Dialog) owner, hasCardIndex, portType, portlistName); } } return vlanPortChannelDlg; } public void setPortlistMap(HashMap portlistMap) ...{ this.portlistMap = portlistMap; } private PortChannelConfigDlg(Frame owner, int[] hasCardIndex, int portType, String portlistName) ...{ super(owner, true); initPortState(); this.portlistName = portlistName; this.portType = portType; this.hasCardIndex = hasCardIndex; try ...{ jbInit(); } catch (Exception ex) ...{ ex.printStackTrace(); } } private PortChannelConfigDlg(Dialog owner, int[] hasCardIndex, int portType, String portlistName) ...{ super(owner, true); initPortState(); this.portlistName = portlistName; this.portType = portType; this.hasCardIndex = hasCardIndex; try ...{ jbInit(); } catch (Exception ex) ...{ ex.printStackTrace(); } } public void showDlg() ...{ if (this.portType == Port_Channel_Type) ...{ this.setSize(new Dimension(900, 600)); } else ...{ this.setSize(new Dimension(700, 500)); } DlgUtils.setCenter(this); this.setVisible(true); } public void fresh() ...{ if (portList == null) ...{ StringBuffer buffer = new StringBuffer(); for (int k = 0; k < 1154; k++) ...{ buffer.append("0"); } portList = buffer.toString(); } if (portList.equals("")) ...{ StringBuffer buffer = new StringBuffer(); for (int k = 0; k < 1154; k++) ...{ buffer.append("0"); } portList = buffer.toString(); } String binarystr = PortListData.hexToBinary(portList); setPortState(binarystr); freshPortstate(); initSelectedList(); } public void setDlgTitle(String title) ...{ vlanPortChannelDlg.setTitle(title); titleLabel.setText(title); } private void initPortState() ...{ int[][] card = new int[32][8]; for (int i = 0; i < 18; i++) ...{ portState.put(new Integer(i + 1), card); } } private void setPortState(String binaryPortStateString) ...{ if (binaryPortStateString == null) ...{ return; } portState.clear(); for (int i = 0; i < 18; i++) ...{ int[][] cardstate = new int[32][8]; String card = binaryPortStateString.substring(i * 32 * 8, i * 32 * 8 + 32 * 8); for (int j = 0; j < 32; j++) ...{ int portindex = j; for (int k = 0; k < 8; k++) ...{ int channalindex = k; char port = card.charAt(portindex * 8 + channalindex); if (port == '1') ...{ cardstate[portindex][channalindex] = 1; } else ...{ cardstate[portindex][channalindex] = 0; } } } portState.put(new Integer(i + 1), cardstate); } } private void jbInit() throws Exception ...{ setTitle("端口设置"); this.getContentPane().setLayout(borderLayout6); choosedList.setModel(choosedList_model); toppanel.setPreferredSize(new Dimension(10, 30)); centerpanel.setLayout(borderLayout1); jLabel1.setText("选择板卡号:"); cardpanel.setBorder(BorderFactory.createEtchedBorder()); cardpanel.setPreferredSize(new Dimension(100, 100)); cardpanel.setLayout(borderLayout3); jLabel2.setText("选择端口号:"); chosedpanel.setPreferredSize(new Dimension(200, 100)); chosedpanel.setLayout(borderLayout4); jLabel3.setText("已选端口号:"); titleLabel.setText("端口设置"); portpanel.setLayout(borderLayout2); jPanel3.setLayout(borderLayout5); buttonPanel.setMinimumSize(new Dimension(50, 40)); buttonPanel.setLayout(gridBagLayout1); addButton.setHorizontalTextPosition(SwingConstants.CENTER); addButton.setText(">>"); addButton.setActionCommand("add"); addButton.addActionListener(this); footPanel.setPreferredSize(new Dimension(200, 35)); delButton.setText("<<"); delButton.setActionCommand("del"); delButton.addActionListener(this); clearAllButton.setText("全不选"); clearAllButton.setActionCommand("clearall"); clearAllButton.addActionListener(this); allChoiceButton.setText("全选"); allChoiceButton.setActionCommand("allchoice"); allChoiceButton.addActionListener(this); portpanel.setBorder(BorderFactory.createEtchedBorder()); jPanel3.setBorder(BorderFactory.createEtchedBorder()); orderButton.setText("排序"); orderButton.setActionCommand("order"); orderButton.addActionListener(this); clearResultButton.setText("清空"); clearResultButton.setActionCommand("clearresult"); clearResultButton.addActionListener(this); jPanel4.setPreferredSize(new Dimension(135, 35)); footpanel.setPreferredSize(new Dimension(10, 40)); okButton.setText("确定"); okButton.setActionCommand("ok"); okButton.addActionListener(this); cancleButton.setText("取消"); cancleButton.setActionCommand("cancle"); cancleButton.addActionListener(this); channelPanel.setLayout(gridBagLayout2); toppanel.add(titleLabel); centerpanel.add(cardpanel, java.awt.BorderLayout.WEST); centerpanel.add(portpanel, java.awt.BorderLayout.CENTER); centerpanel.add(chosedpanel, java.awt.BorderLayout.EAST); footpanel.add(okButton); footpanel.add(cancleButton); portpanel.add(portScrollPane, java.awt.BorderLayout.CENTER); portScrollPane.getViewport().add(channelPanel); if (hasCardIndex != null) ...{ if (hasCardIndex.length > 0) ...{ initPortChannelPanel(32, portType, (int[][]) portState.get(new Integer(hasCardIndex[0]))); initCardPanel(); } } cardScrollPane.getViewport().add(cardlist); chosedpanel.add(buttonPanel, java.awt.BorderLayout.WEST); jPanel3.add(choosedScrollPane, java.awt.BorderLayout.CENTER); choosedScrollPane.getViewport().add(choosedList); chosedpanel.add(jPanel3, java.awt.BorderLayout.CENTER); jPanel4.add(allChoiceButton); jPanel4.add(clearAllButton); buttonPanel.add(delButton, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0 , GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 3)); buttonPanel.add(addButton, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0 , GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(7, 0, 41, 0), 0, 3)); cardpanel.add(cardScrollPane, java.awt.BorderLayout.CENTER); cardpanel.add(jLabel1, java.awt.BorderLayout.NORTH); portpanel.add(jLabel2, java.awt.BorderLayout.NORTH); portpanel.add(jPanel4, java.awt.BorderLayout.SOUTH); jPanel3.add(jLabel3, java.awt.BorderLayout.NORTH); jPanel3.add(footPanel, java.awt.BorderLayout.SOUTH); footPanel.add(clearResultButton); footPanel.add(orderButton); this.getContentPane().add(footpanel, java.awt.BorderLayout.SOUTH); this.getContentPane().add(toppanel, java.awt.BorderLayout.NORTH); this.getContentPane().add(centerpanel, java.awt.BorderLayout.CENTER); this.getContentPane().add(rightpanel, java.awt.BorderLayout.EAST); this.getContentPane().add(leftpanel, java.awt.BorderLayout.WEST); } /** *//** * 初始化端口和通道 * @param portnum int 端口数 * @param portType int 样式:只有端口或既有端口又有通道 * @param cardstate int[][] 32×8的数组,标示端口,通道状态 */ private void initPortChannelPanel(int portnum, int portType, int[][] cardstate) ...{ if (cardstate == null) ...{ cardstate = new int[32][8]; } if (portType == Only_Port_Type) ...{ initPortPanel(portnum, cardstate); } else if (portType == Port_Channel_Type) ...{ initChannelPanel(portnum, cardstate); } } /** *//** * 初始化端口 * @param portnum int * @param cardstate int[][] */ private void initPortPanel(int portnum, int[][] cardstate) ...{ int rowindex = 0; for (int i = 0; i < portnum; i++) ...{ JCheckBox jCheckBox = new JCheckBox(); int port = i + 1; jCheckBox.setText(" 端口" + port); portcheckboxs[i] = jCheckBox; portcheckboxs[i].addActionListener(new PortCheckBoxAction(this, i)); channelPanel.add(jCheckBox, new GridBagConstraints(i % 4, i / 4, 1, 1, 0.0, 0.0 , GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(5, 0, 0, 0), 0, 0)); rowindex++; } } /** *//** * 初始化通道 * @param portnum int * @param cardstate int[][] */ private void initChannelPanel(int portnum, int[][] cardstate) ...{ int rowindex = 0; for (int i = 0; i < portnum; i++) ...{ JCheckBox jCheckBox = new JCheckBox(); int port = i + 1; jCheckBox.setText(" 端口" + port); portcheckboxs[i] = jCheckBox; portcheckboxs[i].addActionListener(new PortCheckBoxAction(this, i)); channelPanel.add(jCheckBox, new GridBagConstraints(0, rowindex, 1, 1, 0.0, 0.0 , GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(5, 0, 0, 0), 0, 0)); rowindex++; for (int j = 0; j < 8; j++) ...{ JCheckBox jCheckBox1 = new JCheckBox(); if (cardstate[i][j] == 1) ...{ jCheckBox1.setSelected(true); } chanlecheckboxs[i][j] = jCheckBox1; int chanle = j + 1; jCheckBox1.setText("通道" + chanle); int empty = (j == 0) ? 20 : 5; channelPanel.add(jCheckBox1, new GridBagConstraints(j, rowindex, 1, 1, 0.0, 0.0 , GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(2, empty, 0, 0), 0, 0)); } rowindex++; } } /** *//** * 初始化板卡 */ private void initCardPanel() ...{ if (hasCardIndex == null) ...{ return; } Vector cardindex = new Vector(); for (int i = 0; i < hasCardIndex.length; i++) ...{ cardindex.add("板卡" + hasCardIndex[i]); } cardlist = new JList(cardindex); cardlist.addListSelectionListener(new CardListSelectListener(this)); cardlist.setSelectedIndex(0); currentCard = hasCardIndex[0]; } /** *//** * 初始化已配置的端口通道列表 */ private void initSelectedList() ...{ for (int i = 0; i < 16; i++) ...{ int cardindex = i + 1; int[][] card = (int[][]) portState.get(new Integer(cardindex)); for (int j = 0; j < 32; j++) ...{ int portindex = j + 1; String anote = ""; if (portType == Only_Port_Type) ...{ if (card[j][0] == 1) ...{ anote = "板卡" + cardindex + "--端口" + portindex; choosedList_model.addElement(anote); } } else if (portType == Port_Channel_Type) ...{ for (int k = 0; k < 8; k++) ...{ int channelindex = k + 1; anote = "板卡" + cardindex + "--端口" + portindex + "--通道" + channelindex; choosedList_model.addElement(anote); } } } } for (int i = 16; i < 18; i++) ...{ int cardindex = i + 1; int[][] card = (int[][]) portState.get(new Integer(i)); for (int j = 0; j < 4; j++) ...{ int portindex = j + 1; String anote = ""; if (portType == Only_Port_Type) ...{ if (card[j][0] == 1) ...{ anote = "板卡" + cardindex + "--端口" + portindex; choosedList_model.addElement(anote); } } else if (portType == Port_Channel_Type) ...{ for (int k = 0; k < 8; k++) ...{ int channelindex = k + 1; anote = "板卡" + cardindex + "--端口" + portindex + "--通道" + channelindex; choosedList_model.addElement(anote); } } } } choosedList.setModel(choosedList_model); } public void actionPerformed(ActionEvent e) ...{ String command = e.getActionCommand(); if (command.equals("add")) ...{ if (hasCardIndex.length <= 0) ...{ return; } int[] choosedcardsIndices = cardlist.getSelectedIndices(); int[] choosedcards = null; if (choosedcardsIndices != null) ...{ choosedcards = new int[choosedcardsIndices.length]; for (int i = 0; i < choosedcardsIndices.length; i++) ...{ choosedcards[i] = hasCardIndex[choosedcardsIndices[i]]; } } for (int j = 0; j < 32; j++) ...{ if (portType == Port_Channel_Type) ...{ for (int i = 0; i < 8; i++) ...{ if (chanlecheckboxs[j][i].isSelected()) ...{ String anote = ""; if (choosedcards != null) ...{ for (int p = 0; p < choosedcards.length; p++) ...{ int card = choosedcards[p]; int port = j + 1; if ( (card == 17 || card == 18) && port > 4) ...{ continue; } int chanle = i + 1; anote = "板卡" + card + "--端口" + port + "--通道" + chanle; if (!choosedList_model.contains(anote)) ...{ choosedList_model.addElement(anote); } } } } } } else if (portType == Only_Port_Type) ...{ if (portcheckboxs[j] != null) ...{ if (portcheckboxs[j].isSelected()) ...{ String anote = ""; if (choosedcards != null) ...{ for (int p = 0; p < choosedcards.length; p++) ...{ int card = choosedcards[p]; int port = j + 1; if ( (card == 17 || card == 18) && port > 4) ...{ continue; } anote = "板卡" + card + "--端口" + port; if (!choosedList_model.contains(anote)) ...{ choosedList_model.addElement(anote); } } } } } } choosedList.setModel(choosedList_model); } } if (command.equals("del")) ...{ int[] dels = choosedList.getSelectedIndices(); for (int i = 0; i < dels.length; i++) ...{ choosedList_model.remove(dels[i]); } choosedList.setModel(choosedList_model); } if (command.equals("allchoice")) ...{ if (hasCardIndex.length <= 0) ...{ return; } int portnum = 0; if (hasCardIndex[cardlist.getSelectedIndex()] == 17 || hasCardIndex[cardlist.getSelectedIndex()] == 18) ...{ portnum = 4; } else ...{ portnum = 32; } for (int j = 0; j < portnum; j++) ...{ if (portType == Port_Channel_Type) ...{ for (int i = 0; i < 8; i++) ...{ chanlecheckboxs[j][i].setSelected(true); } } portcheckboxs[j].setSelected(true); } } if (command.equals("clearall")) ...{ if (hasCardIndex.length <= 0) ...{ return; } setAllSelectFasle(); } if (command.equals("clearresult")) ...{ choosedList_model.clear(); choosedList.setModel(choosedList_model); } if (command.equals("order")) ...{ orderSelectResult(); } if (command.equals("ok")) ...{ if (hasCardIndex.length <= 0) ...{ return; } portlistCalculator(); this.dispose(); } if (command.equals("cancle")) ...{ this.dispose(); } } private void portlistCalculator() throws NumberFormatException ...{ int cardNum = 18; int portNum = 32; int cannelNum = 8;// int[] totalStatus = new int[ (cardNum - 2) * portNum * cannelNum + 2 * 4 * cannelNum]; int[] totalStatus = new int[cardNum * portNum * cannelNum]; ListModel modle = choosedList.getModel(); for (int i = 0; i < modle.getSize(); i++) ...{ String str = (String) modle.getElementAt(i); if (portType == Port_Channel_Type) ...{ cardNum = Integer.parseInt( str.substring(str.indexOf("板卡") + 2, str.indexOf("--"))); portNum = Integer.parseInt( str.substring(str.indexOf("端口") + 2, str.lastIndexOf("--"))); cannelNum = Integer.parseInt( str.substring(str.indexOf("通道") + 2, str.length())); } else if (portType == Only_Port_Type) ...{ cardNum = Integer.parseInt( str.substring(str.indexOf("板卡") + 2, str.indexOf("--"))); portNum = Integer.parseInt( str.substring(str.indexOf("端口") + 2, str.length())); } totalStatus[ (cardNum - 1) * 32 * 8 + (portNum - 1) * 8 + (cannelNum - 1)] = 1; } String newStatus = ""; for (int i = 0; i < 18 * 32 * 2; i++) ...{ String tem = PortListData.getData(totalStatus, i * 4); newStatus = newStatus + tem; } newStatus = newStatus + "00"; System.out.println(newStatus.trim()); for (int i = 0; i < totalStatus.length; i++) ...{ totalStatus[i] = 0; } portList = newStatus; if (portlistMap != null) ...{ portlistMap.remove(portlistName); portlistMap.put(portlistName, portList); }// Object[] key = map.keySet().toArray();// for(int i=0;i<map.size();i++){// String akey = (String)key[i];// String value = (String)map.get(akey);// System.out.println("key:"+akey+",value:"+value);// } } private void orderSelectResult() ...{ String str1, str2; for (int j = 0; j < choosedList_model.size(); j++) ...{ for (int i = 1; i < choosedList_model.size(); i++) ...{ str1 = (String) choosedList_model.get(i - 1); str2 = (String) choosedList_model.get(i); if (str1.compareTo(str2) > 0) ...{ choosedList_model.set(i - 1, str2); choosedList_model.set(i, str1); } } } choosedList.setModel(choosedList_model); } private void setAllSelectFasle() ...{ int portnum = 0; if (hasCardIndex[cardlist.getSelectedIndex()] == 17 || hasCardIndex[cardlist.getSelectedIndex()] == 18) ...{ portnum = 4; } else ...{ portnum = 32; } for (int j = 0; j < portnum; j++) ...{ if (portType == Port_Channel_Type) ...{ for (int i = 0; i < 8; i++) ...{ chanlecheckboxs[j][i].setSelected(false); } } portcheckboxs[j].setSelected(false); } } /** *//** * 端口checkbox的监听器,当选中时,系统将其下的通道都选上,当取消时,系统将其下的通道都取消 */ class PortCheckBoxAction implements ActionListener ...{ PortChannelConfigDlg dlg; int index; /** *//** * PortCheckBoxAction */ public PortCheckBoxAction(PortChannelConfigDlg dlg, int index) ...{ this.dlg = dlg; this.index = index; } public void actionPerformed(ActionEvent e) ...{ boolean isSelected = portcheckboxs[index].isSelected(); if (portType == Port_Channel_Type) ...{ for (int i = 0; i < 8; i++) ...{ chanlecheckboxs[index][i].setSelected(isSelected); } } } } /** *//** *板卡列表的监听器 */ class CardListSelectListener implements ListSelectionListener ...{ PortChannelConfigDlg dlg; public CardListSelectListener(PortChannelConfigDlg dlg) ...{ this.dlg = dlg; } public CardListSelectListener() ...{ } public void valueChanged(ListSelectionEvent e) ...{ channelPanel.removeAll(); JList list = (JList) e.getSource();// if (hasCardIndex[cardlist.getSelectedIndex()] == 17 ||// hasCardIndex[cardlist.getSelectedIndex()] == 18) { if (hasCardIndex[list.getSelectedIndex()] == 17 || hasCardIndex[list.getSelectedIndex()] == 18) ...{ initPortChannelPanel(4, portType, (int[][]) portState.get(new Integer(cardlist. getSelectedIndex()))); } else ...{ initPortChannelPanel(32, portType, (int[][]) portState.get(new Integer(cardlist.getSelectedIndex()))); } freshPortstate(); channelPanel.updateUI(); currentCard = hasCardIndex[cardlist.getSelectedIndex()]; } } private void freshPortstate() ...{ if (cardlist == null) ...{ return; } int cardindex = hasCardIndex[cardlist.getSelectedIndex()]; int portnum = 32; if (cardindex == 17 || cardindex == 18) ...{ portnum = 4; } int[][] cardstate = (int[][]) portState.get(new Integer(cardindex)); if (cardstate == null) ...{ return; } if (portType == Port_Channel_Type) ...{ for (int i = 0; i < portnum; i++) ...{ for (int j = 0; j < 8; j++) ...{ if (cardstate[i][j] == 1) ...{ chanlecheckboxs[i][j].setSelected(true); } else ...{ chanlecheckboxs[i][j].setSelected(false); } } } } else ...{ for (int i = 0; i < portnum; i++) ...{ if (cardstate[i][0] == 1) ...{ portcheckboxs[i].setSelected(true); } else ...{ portcheckboxs[i].setSelected(false); } } } } public String getPortList() ...{ return portList; } public void setPortList(String portList) ...{ this.portList = portList; } / public static void main(String[] agr) ...{ int[] hasCardIndex = new int[] ...{ 1, 2,3, 4, 5,6,7,8,9,10,11,12,13,14,15,16,17, 18}; PortChannelConfigDlg dlg = PortChannelConfigDlg.getInstance(new JDialog(), hasCardIndex, 1, null); String s = "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; dlg.setPortList(s); dlg.fresh(); dlg.showDlg(); } /} package com.zg.component.ui.vlanchannel; public class PortListData ... {// private String hexPortList = "";// private String binaryPortList = "";// public PortListData(String hexPortList) {// this.hexPortList = hexPortList;// binaryPortList = hexToBinary(hexPortList);// } private PortListData() ...{ } public static String getData(int[] totalStatus, int postion) ...{ String str = "g"; int[] temData = ...{ totalStatus[postion], totalStatus[postion + 1], totalStatus[postion + 2], totalStatus[postion + 3]}; int tem = temData[0] * 8 + temData[1] * 4 + temData[2] * 2 + temData[3]; if (tem < 10) ...{ str = String.valueOf(tem); } else ...{ switch (tem) ...{ case 10: str = "a"; break; case 11: str = "b"; break; case 12: str = "c"; break; case 13: str = "d"; break; case 14: str = "e"; break; case 15: str = "f"; break; } } return str; } public static String hexToBinary(String hexString) ...{ StringBuffer buffer = new StringBuffer(); for (int i = 0; i < hexString.length(); i++) ...{ char num = hexString.charAt(i); int p = hexToInt(num); String str = Integer.toBinaryString(p); if (str.length() < 4) ...{ int zeronum = 4 - str.length(); StringBuffer zero = new StringBuffer(); for (int j = 0; j < zeronum; j++) ...{ zero.append("0"); } str = zero.toString() + str; } buffer.append(str); } return buffer.toString(); } private static int hexToInt(char achar) ...{ int num = 0; String str = "0123456789"; if (str.contains(String.valueOf(achar))) ...{ num = Integer.parseInt(String.valueOf(achar)); } else if (achar == 'a'||achar == 'A') ...{ num = 10; } else if (achar == 'b'||achar == 'B') ...{ num = 11; } else if (achar == 'c'||achar == 'C') ...{ num = 12; } else if (achar == 'd'||achar == 'D') ...{ num = 13; } else if (achar == 'e'||achar == 'E') ...{ num = 14; } else if (achar == 'f'||achar == 'F') ...{ num = 15; } return num; }}