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

📄 loginview.java

📁 ICE3.3.0--聊天程序服务器端demo
💻 JAVA
字号:
// **********************************************************************//// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.//// This copy of Chat Demo is licensed to you under the terms// described in the CHAT_DEMO_LICENSE file included in this// distribution.//// **********************************************************************package ChatDemoGUI;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.awt.Cursor;import java.awt.Toolkit;import javax.swing.JPanel;import javax.swing.JLabel;import javax.swing.JCheckBox;import javax.swing.JTextField;import javax.swing.JTextArea;import javax.swing.JPasswordField;import javax.swing.JButton;import javax.swing.BoxLayout;import com.jgoodies.forms.layout.FormLayout;import com.jgoodies.forms.builder.DefaultFormBuilder;import java.util.prefs.Preferences;public class LoginView extends JPanel{    LoginView(MainView mainview, Preferences connectionPrefs)    {        _mainView = mainview;        _info = new LoginInfo(connectionPrefs);        ActionListener loginListener = new ActionListener()        {            public void actionPerformed(ActionEvent e)            {                login();            }        };        _bttLogin.addActionListener(loginListener);        ActionListener advancedListener = new ActionListener()        {            public void actionPerformed(ActionEvent e)            {                _advancedOptions.setVisible(_chkAdvancedEnabled.isSelected());            }        };        _chkAdvancedEnabled.addActionListener(advancedListener);        {   // Build the basic login panel.            FormLayout layout = new FormLayout("center:pref:grow", "pref:grow");            DefaultFormBuilder builder = new DefaultFormBuilder(layout);            builder.setDefaultDialogBorder();            builder.append(new JLabel("Chat Demo"));            builder.nextLine();            builder.append(new JLabel("Welcome! You can login with any username / password."));            builder.append(new JLabel("Username"));            builder.nextLine();            builder.append(_txtUsername);            builder.nextLine();            builder.append(new JLabel("Password"));            builder.nextLine();            builder.append(_txtPassword);            builder.nextLine();            builder.append(_chkAdvancedEnabled);            _directPanel = builder.getPanel();        }        {   // Build the adavanced options panel.            FormLayout layout = new FormLayout("center:pref:grow", "pref:grow");            DefaultFormBuilder builder = new DefaultFormBuilder(layout);            builder.append(new JLabel("Host"));            builder.nextLine();            builder.append(_txtHost);            builder.nextLine();            _advancedOptions = builder.getPanel();        }        JPanel actionsPanel = null; // Build a panel for put actions.        {            FormLayout layout = new FormLayout("center:3dlu:grow", "pref");            DefaultFormBuilder builder = new DefaultFormBuilder(layout);            builder.append(_bttLogin);            actionsPanel = builder.getPanel();            _mainView.getRootPane().setDefaultButton(_bttLogin);        }        FormLayout layout = new FormLayout("fill:pref:grow", "pref");        DefaultFormBuilder builder = new DefaultFormBuilder(layout);        builder.append(_directPanel);        builder.nextLine();        builder.append(_advancedOptions);        builder.nextLine();        builder.append(actionsPanel);        _advancedOptions.setVisible(false);        _txtUsername.setText(_info.username);        _txtHost.setText(_info.host);        setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));        add(builder.getPanel());    }    public void setCoordinator(Coordinator coordinator)    {        _coordinator = coordinator;    }    public void setEnabled(boolean enabled)    {        _txtUsername.setEnabled(enabled);        _txtPassword.setEnabled(enabled);        _txtHost.setEnabled(enabled);        _chkAdvancedEnabled.setEnabled(enabled);        _bttLogin.setEnabled(enabled);    }    private void login()    {        _coordinator.setState(Coordinator.ClientState.Connecting);        _info.username = _txtUsername.getText();        if(_txtPassword.getPassword() != null)        {            _info.password = new String(_txtPassword.getPassword());        }        _info.host = _txtHost.getText();        new Thread()        {            public void run()            {                _coordinator.login(_info);            }        }.start();    }    public void setConnected(boolean connected)    {        setVisible(!connected);        if(connected)        {            _mainView.getRootPane().setDefaultButton(null);        }        else        {            _mainView.getRootPane().setDefaultButton(_bttLogin);        }    }    private final JPanel _directPanel;    private final JPanel _advancedOptions;    private final JTextField _txtUsername = new JTextField(20);    private final JPasswordField _txtPassword = new JPasswordField(20);    private final JCheckBox _chkAdvancedEnabled = new JCheckBox("Show advanced options", false);    private final JTextField _txtHost = new JTextField(20);    private final JButton _bttLogin = new JButton("Login");    private final LoginInfo _info;    private Coordinator _coordinator = null;    private final MainView _mainView;};

⌨️ 快捷键说明

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