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

📄 configureconnectorspage.java

📁 这是一个以JAVA编写的程序,本人还没有试过,是一个简单的温度控制系统
💻 JAVA
字号:
package net.sf.dz.setup;import java.awt.GridBagConstraints;import java.awt.GridBagLayout; import java.awt.event.ActionEvent;import java.awt.event.ItemEvent;import java.util.Map;import java.awt.GridLayout;import javax.swing.BorderFactory;import javax.swing.JCheckBox;import javax.swing.JComboBox;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;import org.freehold.jukebox.logger.Logger;import net.sf.dz.util.wizard.NarrowWizardPage;import net.sf.dz.util.wizard.Wizard;public class ConfigureConnectorsPage extends NarrowWizardPage {    private JPanel broadcasterPanel = new JPanel();    private JPanel controllerPanel = new JPanel();        private JTextField broadcasterBindPortText = new JTextField("5000", 5);    private JTextField broadcasterAnnouncePortText = new JTextField("5001", 5);    private JCheckBox broadcasterSecureBox = new JCheckBox("Secure");    private JComboBox broadcasterTransportCombo = new JComboBox();    private JTextField broadcasterPasswordText = new JTextField("", 5);    private JLabel broadcasterPasswordLabel = new JLabel("Password");    private JTextField controllerBindPortText = new JTextField("5002", 5);    private JTextField controllerAnnouncePortText = new JTextField("5003",5 );    private JCheckBox controllerSecureBox = new JCheckBox("Secure");    private JComboBox controllerTransportCombo = new JComboBox();    private JTextField controllerPasswordText = new JTextField("", 5);    private JLabel controllerPasswordLabel = new JLabel("Password");        public ConfigureConnectorsPage(Logger logger, Wizard owner, boolean isServer) {            super(logger, owner, "Configure PnP " + (isServer ? "Server" : "Client"));                getNarrowPane().setLayout(new GridLayout(2, 1));                getNarrowPane().add(broadcasterPanel);        getNarrowPane().add(controllerPanel);                broadcasterPanel.setBorder(BorderFactory.createTitledBorder("Broadcaster"));        controllerPanel.setBorder(BorderFactory.createTitledBorder("Controller"));                fill(broadcasterPanel,             broadcasterBindPortText,             broadcasterAnnouncePortText,             broadcasterSecureBox,             broadcasterTransportCombo,             broadcasterPasswordText,             broadcasterPasswordLabel,             isServer);                     fill(controllerPanel,             controllerBindPortText,             controllerAnnouncePortText,             controllerSecureBox,             controllerTransportCombo,             controllerPasswordText,             controllerPasswordLabel,             isServer);    }        private void fill(JPanel panel,                      JTextField bindPortText,                      JTextField announcePortText,                      JCheckBox secureBox,                      JComboBox transportCombo,                      JTextField passwordText,                      JLabel passwordLabel,                      boolean isServer) {            GridBagLayout layout = new GridBagLayout();        GridBagConstraints cs = new GridBagConstraints();                panel.setLayout(layout);                passwordText.setEnabled(false);        passwordLabel.setEnabled(false);                cs.gridx = 0;        cs.gridy = 0;        cs.weightx = 1;        cs.weighty = 0;        cs.gridwidth = 2;        cs.fill = GridBagConstraints.HORIZONTAL;                layout.setConstraints(secureBox, cs);        panel.add(secureBox);                cs.gridy++;        cs.gridwidth = 1;        cs.weightx = 0;                layout.setConstraints(passwordLabel, cs);        panel.add(passwordLabel);                cs.gridx++;        cs.weightx = 1;                layout.setConstraints(passwordText, cs);        panel.add(passwordText);                cs.gridx--;        cs.gridy++;        cs.gridwidth = 1;        cs.weightx = 0;                if ( isServer ) {                    JLabel bindPortLabel = new JLabel("Listen on port", JLabel.RIGHT);            layout.setConstraints(bindPortLabel, cs);            panel.add(bindPortLabel);                        cs.gridx++;            cs.weightx = 1;                        layout.setConstraints(bindPortText, cs);            panel.add(bindPortText);            cs.gridx--;            cs.gridy++;            cs.gridwidth = 1;            cs.weightx = 0;        }                JLabel announcePortLabel = new JLabel(isServer ? "Announce on port" : "Listen to announces on port", JLabel.RIGHT);        layout.setConstraints(announcePortLabel, cs);        panel.add(announcePortLabel);                cs.gridx++;        cs.weightx = 1;                layout.setConstraints(announcePortText, cs);        panel.add(announcePortText);        cs.gridx--;        cs.gridy++;        cs.gridwidth = 1;        cs.weightx = 0;                JLabel transportLabel = new JLabel("Announce transport", JLabel.RIGHT);        layout.setConstraints(transportLabel, cs);        panel.add(transportLabel);                cs.gridx++;        cs.weightx = 1;                layout.setConstraints(transportCombo, cs);        panel.add(transportCombo);                transportCombo.addItem("Unicast UDP");        transportCombo.addItem("Multicast TCP");        transportCombo.setEnabled(false);                bindPortText.setHorizontalAlignment(JTextField.TRAILING);        announcePortText.setHorizontalAlignment(JTextField.TRAILING);        bindPortText.addActionListener(this);        announcePortText.addActionListener(this);        secureBox.addItemListener(this);        transportCombo.addActionListener(this);        passwordText.addActionListener(this);        bindPortText.addCaretListener(this);        announcePortText.addCaretListener(this);        passwordText.addCaretListener(this);    }        public String getHelpURL() {            return "FIXME";    }        public String validate() {            if (    (broadcasterSecureBox.isSelected() && "".equals(broadcasterPasswordText.getText()))             || (controllerSecureBox.isSelected() && "".equals(controllerPasswordText.getText()))) {                    return "Empty passwords are not allowed";        }            String p = checkPort(broadcasterBindPortText.getText());                if ( !"".equals(p) ) {                    return p;        }        p = checkPort(broadcasterAnnouncePortText.getText());                if ( !"".equals(p) ) {                    return p;        }        p = checkPort(controllerBindPortText.getText());                if ( !"".equals(p) ) {                    return p;        }        p = checkPort(controllerBindPortText.getText());                if ( !"".equals(p) ) {                    return p;        }            Map context = getOwner().getContext();                context.put("connector.broadcaster.secure", new Boolean(broadcasterSecureBox.isSelected()));        context.put("connector.broadcaster.password", broadcasterPasswordText.getText());        context.put("connector.broadcaster.bind", broadcasterBindPortText.getText());        context.put("connector.broadcaster.announce", broadcasterAnnouncePortText.getText());        context.put("connector.broadcaster.announce.transport.udp", broadcasterTransportCombo.getSelectedItem().toString());        context.put("connector.controller.secure", new Boolean(controllerSecureBox.isSelected()));        context.put("connector.controller.password", controllerPasswordText.getText());        context.put("connector.controller.bind", controllerBindPortText.getText());        context.put("connector.controller.announce", controllerAnnouncePortText.getText());        context.put("connector.controller.announce.transport.udp", controllerTransportCombo.getSelectedItem().toString());        return "";    }        /**     * Check if the port value is good enough.     *     * "Good" enough means that it can be parsed into an integer, is     * more than 1024 (no privileged ports here), and less than 65535.     *     * @param port String representation of port number     *     * @return Empty string if port is OK.     */    private String checkPort(String port) {            try {                    long p = Long.parseLong(port);                        if ( p < 1024L ) {                            return "Privileged (< 1024) ports are not allowed";            }                        if ( p > 65535L ) {                            return "Port number is too high (" + port + ")";            }                    } catch ( Throwable t ) {                    return "Bad port '" + port + "': not a number";        }                return "";    }        protected void actionPerformed2(ActionEvent e) {            //complain("Connector: " + e);    }        protected void itemStateChanged2(ItemEvent e) {            broadcasterPasswordText.setEnabled(broadcasterSecureBox.isSelected());        controllerPasswordText.setEnabled(controllerSecureBox.isSelected());        broadcasterPasswordLabel.setEnabled(broadcasterSecureBox.isSelected());        controllerPasswordLabel.setEnabled(controllerSecureBox.isSelected());            //getOwner().getContext().put("1-Wire driver.owapi", new Boolean(owapiRadio.isSelected()));    }    public boolean isEnabled() {            return true;    }}

⌨️ 快捷键说明

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