📄 loginview.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 + -