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

📄 configdialog.java

📁 jxme的一些相关程序,主要是手机上程序开发以及手机和计算机通信的一些程序资料,程序编译需要Ant支持
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                    modeManual = true;
                    
                    // However, if this address is in the automatic list,
                    // switch back to automatic and select it.
                    i = all.length;
                    while (i-->0) {
                        if (defaultInterfaceAddr.equals(all[i].getHostAddress())) {
                            modeManual = false;
                            ips.select(defaultInterfaceAddr);
                        }
                    }
                }
            } catch (Exception e) {
                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");
            debugLevel.select(dftDebugLevel);
            add(new Label("Trace Level"), leftLineConstr);
            add(debugLevel, rightLineConstr);
        }
    }
    
    class RdvPanel extends BorderPanelGBL {
        
        public Checkbox isRdv;
        public Checkbox isProxy;
        public HostListPanel http;
        public HostListPanel tcp;
        
        RdvPanel(String title, boolean isRendezVous, boolean isJxtaProxy) {
            super(title);
            isRdv = new Checkbox("Act as a Rendezvous", null,
            isRendezVous);
            isProxy = new Checkbox("Act as a JxtaProxy", null,
            isJxtaProxy);
            http = new HostListPanel("Available HTTP rendez-vous");
            tcp  = new HostListPanel("Available TCP rendez-vous");
            
            add(isRdv, stdConstr);
            add(isProxy, stdConstr);
            add(tcp, leftPanelConstr);
            add(http, rightPanelConstr);
        }
    }
    
    class RouterPanel extends BorderPanelGBL implements ItemListener {
        

⌨️ 快捷键说明

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