⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p2pdashboard.java

📁 基于jxta的peer端和peer组发现源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        peerCheckBox.setText("Groups ");
        peerCheckBox.setToolTipText("Display groups peer is in.");
        contentPane.add(peerCheckBox);
        peerCheckBox.setBounds(386 + insets.left, 280 + insets.top, 60, 20);
        peerRemoveButton.setText("Remove ");
        peerRemoveButton.setToolTipText("Remove a peer");
        contentPane.add(peerRemoveButton);
        peerRemoveButton.setBounds(450 + insets.left, 280 + insets.top, 90, 20);
        peerLocalRadioButton.setSelected(true);
        peerLocalRadioButton.setText("Local ");
        peerLocalRadioButton.setToolTipText("Search for local peers");
        contentPane.add(peerLocalRadioButton);
        peerLocalRadioButton.setBounds(290 + insets.left, 310 + insets.top, 60, 
                                       20);
        peerRemoteRadioButton.setText("Remote ");
        peerRemoteRadioButton.setToolTipText("Search for remote peers");
        contentPane.add(peerRemoteRadioButton);
        peerRemoteRadioButton.setBounds(370 + insets.left, 310 + insets.top, 70, 
                                        20);
        peerDiscoveryButtonGroup.add(peerLocalRadioButton);
        peerDiscoveryButtonGroup.add(peerRemoteRadioButton);
        peerDiscoveryButton.setText("Discover");
        peerDiscoveryButton.setToolTipText("Find peers");
        contentPane.add(peerDiscoveryButton);
        peerDiscoveryButton.setBounds(450 + insets.left, 310 + insets.top, 90, 
                                      20);
        pack();
        setTitle("P2P Dashboard ");
        setSize(558, 365);
        setResizable(false);


        //JFrame event
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent evt) {
                exitForm(evt);
            }
        });
    }

    /*
    P2PDashboard uses this to handle GUI object events.
    */
    private void configureGroupEvents() {
        //group JList event
        groupList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        groupList.addListSelectionListener(new ListSelectionListener() {
            public void valueChanged(ListSelectionEvent e) {
                if (e.getValueIsAdjusting()) {
                    return;
                }

                JList list = (JList) e.getSource();

                //whenever a group is selected,
                //retrieve its corresponding peer list and
                //display it.
                if (list.isSelectionEmpty() == false) {
                    String group = (String) list.getSelectedValue();
                    SortedListModel peers = (SortedListModel) groupHT.get(group);
                    peerList.setModel(peers);
                }
            }
        });


        //group Add JButton event
        groupAddButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String group = groupAddTextField.getText();
                SortedListModel list = null;

                if (checkAddRules(group) == false) {
                    return;
                }

                list = (SortedListModel) groupList.getModel();

                //ensure new group does not already exist
                if (list.contains(group) == false) {
                    list.addElement(group);
                    addGroup(group);

                    SortedListModel slm = new SortedListModel();
                    groupHT.put(group, slm);
                    groupList.setModel(list);
                    groupList.setSelectedValue(group, true);
                    peerList.clearSelection();
                } else {
                    handleError("Group `" + group + "` already in use.", 
                                "Invalid group name", null, false);
                }

                groupAddTextField.setText("");
            }
        });


        //peer Flush JButton event
        groupFlushButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                //remove all groups except the netPeerGroup
                SortedListModel list = (SortedListModel) groupList.getModel();
                Enumeration enum = list.elements();
                String group = null;

                while (enum.hasMoreElements()) {
                    group = (String) enum.nextElement();

                    if (group.equals(defaultGroupName) == false) {
                        list.removeElement(group);
                        groupHT.remove(group);
                    }
                }

                groupList.setModel(list);
                groupList.setSelectedValue(defaultGroupName, true);
                peerList.clearSelection();


                //flush actual local group advertisements
                groupDiscovery.flushGroupInfo();
            }
        });


        //group Remove JButton event
        groupRemoveButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String group = (String) groupList.getSelectedValue();

                if ((group == null) || (group.equals("") == true) || 
                            group.equals(defaultGroupName)) {
                    return;
                }

                SortedListModel list = (SortedListModel) groupList.getModel();
                list.removeElement(group);
                groupList.setModel(list);
                groupList.setSelectedValue(defaultGroupName, true);
                peerList.clearSelection();
                removeAdvertisement(group, false);
            }
        });


        //group Discovery JButton event
        groupDiscoveryButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                //initiate local group discovery
                if (groupLocalRadioButton.isSelected()) {
                    groupDiscovery.setLocalDiscovery(true);
                    groupDiscovery.run();
                }
                //initiate remote group discovery
                else if (groupRemoteRadioButton.isSelected()) {
                    groupDiscovery.setLocalDiscovery(false);
                    groupDiscovery.run();
                }
            }
        });
    }

    /*
    P2PDashboard uses this to handle peer GUI object events.
    */
    private void configurePeerEvents() {
        //peer JList event
        peerList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        peerList.addListSelectionListener(new ListSelectionListener() {
            public void valueChanged(ListSelectionEvent e) {
                JList list = (JList) e.getSource();
                String selectedPeer = (String) list.getSelectedValue();

                if (e.getValueIsAdjusting() || (displayPeerGroups == false)) {
                    return;
                }

                //whenever a peer is selected,
                //retrieve its corresponding group list and
                //display it.
                if (list.isSelectionEmpty() == false) {
                    SortedListModel peerInGroup = new SortedListModel();
                    SortedListModel peers = null;
                    String group = null;
                    Enumeration keys = groupHT.keys();

                    while (keys.hasMoreElements()) {
                        group = (String) keys.nextElement();
                        peers = (SortedListModel) groupHT.get(group);

                        if (peers.contains(selectedPeer) == true) {
                            peerInGroup.addElement(group);
                        }
                    }

                    groupList.setModel(peerInGroup);
                    groupList.clearSelection();
                }
            }
        });


        //peer Add JButton event
        peerAddButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String peer = peerAddTextField.getText();
                String group = (String) groupList.getSelectedValue();

                //allow defaultPeerName to be added to new groups
                if ((peer != null) && !peer.equals("") && (group != null) && 
                            !group.equals("") && 
                            peer.equals(defaultPeerName) && 
                            !group.equals(defaultGroupName)) {
                    System.out.println("Adding " + peer + " to group 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -