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

📄 configdialog.java

📁 jxme的一些相关程序,主要是手机上程序开发以及手机和计算机通信的一些程序资料,程序编译需要Ant支持
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                modeManual = true;
            }
            manual = new Checkbox("Manual ", null, modeManual);

            Panel autoPanel = new Panel(new FlowLayout(FlowLayout.RIGHT));
            autoPanel.add(ips);

            alwaysManual = new Checkbox("Always manual", null,
            prefAlwaysManual);

            Panel manPanel =  new PanelGBL();
            manPanel.add(alwaysManual, leftLineConstr);
            manPanel.add(interfaceAddr, midLineEastConstr);

            addrLayout = new CardLayout();
            addrPanel = new Panel(addrLayout);
            addrPanel.add(manPanel, "man");
            addrPanel.add(autoPanel, "auto");

            add(manual);
            add(addrPanel);
            setManual(modeManual);
            manual.addItemListener(this);
        }
    }

    class HttpPanel extends BorderPanelGBL implements ItemListener {

        public Checkbox useMe;
        private IfAddrPanel ifAddr;
        private TextField localPort;

        ItemListener listener;

        public String getLocalPort() {
            return localPort.getText();
        }

        public void setState(boolean state) {
            useMe.setState(state);
            ifAddr.setEnabled(state);
        }

        public boolean getState() {
            return useMe.getState();
        }

        public void itemStateChanged(ItemEvent e) {
            if (e.getSource() == useMe) {
                setState(useMe.getState());
                listener.itemStateChanged(e);
                return;
            }
        }

        public String getInterfaceAddress() {
            return ifAddr.getAddress();
        }

        public String getConfigMode() {
            return ifAddr.getMode();
        }

        public HttpPanel(ItemListener listener,
        String defaultInterfaceAddress,
        String defaultPort,
        boolean defaultState,
        boolean prefAlwaysManual) {

            super("HTTP settings",
            "Must enable if behind a firewall/NAT");

            this.listener = listener;

            useMe = new Checkbox("Enabled", null, defaultState);
            ifAddr = new IfAddrPanel(defaultInterfaceAddress, prefAlwaysManual);
            localPort = new TextField(defaultPort, 8);
            add(useMe, stdConstr);
            add(ifAddr, midLineEastConstr);
            add(localPort, midLineConstr);
            setState(defaultState);

            useMe.addItemListener(this);
        }
    }

    class TcpPanel extends BorderPanelGBL implements ItemListener {

        public Checkbox useMe;

        private IfAddrPanel ifAddr;
        private TextField localPort;
        private HostPortPanel publicAddr;

        public ItemListener listener;

        public String getLocalPort() {
            return localPort.getText();
        }

        public String getPublicPort() {
            return publicAddr.getPort();
        }

        public void setState(boolean state) {
            useMe.setState(state);
            localPort.setEnabled(state);
            ifAddr.setEnabled(state);
            publicAddr.setEnabled(state);
        }

        public boolean getState() {
            return useMe.getState();
        }

        public void itemStateChanged(ItemEvent e) {
            if (e.getSource() == useMe) {
                setState(useMe.getState());
                listener.itemStateChanged(e);
            }
        }

        public String getInterfaceAddress() {
            return ifAddr.getAddress();
        }

        public String getPublicAddress() {
            return publicAddr.getHost();
        }

        public String getConfigMode() {
            return ifAddr.getMode();
        }

        public TcpPanel(ItemListener listener,
        String defaultInterfaceAddr,
        String defaultPort,
        String defaultPublicAddr,
        String defaultPublicPort,
        boolean defaultState,
        boolean prefAlwaysManual) {

            super("TCP settings", "Enable if direct LAN connection.");

            this.listener = listener;

            ifAddr = new IfAddrPanel(defaultInterfaceAddr, prefAlwaysManual);
            useMe = new Checkbox("Enabled", null, defaultState);
            localPort = new TextField(defaultPort, 8);

            publicAddr =
            new HostPortPanel(this,
            null,
            "(Optional) Public NAT address",
            defaultPublicAddr,
            defaultPublicPort,
            true);

            add(useMe, stdConstr);
            add(ifAddr, midLineEastConstr);
            add(localPort, midLineConstr);
            add(publicAddr, stdConstr);

            setState(defaultState);
            useMe.addItemListener(this);

        }
    }



    class IdPanel extends PanelGBL implements ItemListener {

        private TextField peerName;
        public HostPortPanel proxyPanel;

        public String getName() {
            return peerName.getText();
        }
        public void setState(boolean state) {
            httpPanel.useMe.setState(state);
            proxyPanel.setEnabled(state);
        }

        public boolean getState() {
            return httpPanel.useMe.getState();
        }

        public void itemStateChanged(ItemEvent e) {
            if (e.getSource() == httpPanel.useMe) {
                setState(httpPanel.useMe.getState());
                httpPanel.listener.itemStateChanged(e);
                return;
            }
        }

        public IdPanel(String defaultPeer,
        String defaultProxyName,
        String defaultProxyPort, boolean proxyOn) {

            super();

            peerName = new TextField(defaultPeer, 20);
            add(new Label("Peer Name"), leftLineConstr);
            add(peerName, midLineConstr);
            add(new Label("(Mandatory)"), rightLineConstr);
            add(new Label(""), leftLineConstr);
            proxyPanel =
            new HostPortPanel(this,
            "Use a proxy server if behind "
            + "firewall)",
            "Proxy address",
            defaultProxyName,
            defaultProxyPort,
            proxyOn);
            add(proxyPanel, fillConstr);
        }
    }

    /**
     *   Security Panel
     */
    class SecPanel extends PanelGBL implements ItemListener {
        private TextField principal; // Secure user name:
        private TextField passwd;
        private TextField vpasswd;
        private Label principalLabel = new Label("Secure Username");
        private Label secLabel = new Label("Password");
        private Label vsecLabel = new Label("Verify Password");

        private Label init1 = new Label("Security parameters already initialized");
        private Label init2 = new Label("No further input is required");

        private Label please1 = new Label("Please note your secure username and password");
        private Label please2 = new Label("They will be required for all future access");

        private boolean passwordEntered = false;
        private boolean securityInitialized = false;

        public String getPrincipal() {
            return principal.getText();
        }

        public String getPasswd() {
            return passwd.getText();
        }
        public String getVerifyPasswd() {
            return vpasswd.getText();
        }

        public boolean getAlreadyInitialized() {
            return securityInitialized;
        }

        public void setState(boolean state) {
            principalLabel.setEnabled(state);
            passwd.setEnabled(state);
            vpasswd.setEnabled(state);
            secLabel.setEnabled(state);
            vsecLabel.setEnabled(state);
        }

        // Nothing to do on state changes
        public void itemStateChanged(ItemEvent e) {
            return;
        }

        public SecPanel( boolean initSecurity) {

            super();

            // We require security initialization
            securityInitialized = !initSecurity;

            if (initSecurity) {
                principal = new TextField("", 20);
                passwd = new TextField("", 20);
                vpasswd = new TextField("", 20);
                passwd.setEchoChar('*');
                vpasswd.setEchoChar('*');

                add(principalLabel,leftPanelConstr);
                add(principal, rightPanelConstr);
                add(secLabel, leftPanelConstr);
                add(passwd, rightPanelConstr);
                add(vsecLabel, leftPanelConstr);
                add(vpasswd, rightPanelConstr);

                // Courtesy warning
                add(please1, leftPanelConstr);
                add(please2, leftPanelConstr);

                setState(true);
            } else {
                // just put up a message that security is already
                // initialized
                add(init1, leftPanelConstr);
                add(init2, leftPanelConstr);
            }

        }

        public void clearPasswds() {
            passwd.setText("");
            vpasswd.setText("");
        }

        public void clearPrincipal() {
            principal.setText("");
        }

    }

    class DebugPanel extends PanelGBL {

        private Choice debugLevel;

        public String getDebugLevel() {
            return debugLevel.getSelectedItem();
        }

        public DebugPanel(String  dftDebugLevel) {

            super();

            debugLevel = new Choice();
            debugLevel.addItem("error");
            debugLevel.addItem("warn");
            debugLevel.addItem("info");
            debugLevel.addItem("debug");
            debugLevel.addItem("user default");

            // PDA requirement 21.02.2002
            //check for the null element of the Vector
            if (dftDebugLevel != null)
                debugLevel.select(dftDebugLevel);
            // PDA requirement 21.02.2002

            add(new Label("Trace Level"), leftLineConstr);
            add(debugLevel, rightLineConstr);
        }
    }

    class RdvPanel extends BorderPanelGBL {

        public Checkbox isRdv;
        public HostListPanel http;
        public HostListPanel tcp;

        RdvPanel(String title, boolean isRendezVous) {
            super(title);
            isRdv = new Checkbox("Act as a Rendezvous", null,
            isRendezVous);
            http = new HostListPanel("Available HTTP rendez-vous");
            tcp  = new HostListPanel("Available TCP rendez-vous");

            add(isRdv, stdConstr);
            add(tcp, leftPanelConstr);
            add(http, rightPanelConstr);
        }
    }

    class RouterPanel extends BorderPanelGBL implements ItemListener {

        public HostPortPanel publicAddr;
        public HostListPanel remote;
        private ItemListener listener;


        public void itemStateChanged(ItemEvent e) {

            // Cannot be a router and need one in the same time.
            // We handle that one more or less as a checkbox group. If you try
            // to turn one on, the other goes off. The difference is: both
            // may be off.

            if (   routerPanel.publicAddr.getState()
            && routerPanel.remote.getState()) {
                // Figure out what the user is clicking to decide what to
                // to turn off.
                if (e.getSource() == routerPanel.remote.useMe) {
                    routerPanel.publicAddr.setState(false);
                } else {
                    routerPanel.remote.setState(false);
                }

⌨️ 快捷键说明

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