📄 usermanagerdialog.java
字号:
/*
* UserManagerDialog.java
*
* Copyright (C) 2000 Jason M. Hanley
* Released under the GNU General Public License (GPL)
* See license.txt for additional information.
*
* Created on July 26, 2000, 10:42 PM
*/
package fate.server;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import fate.util.*;
import fate.network.*;
import fate.ui.*;
/**
* Allows creating, editing, and deleting of user accounts.
*
* @author preylude@s3m.com
* @version 0.1.0
*/
public class UserManagerDialog extends JDialog
implements ActionListener, ListSelectionListener {
MapPlayerInfo mapPlayerInfo;
JList playerList;
JTextField editUsername, editPassword, editID;
JLabel labelStatus;
/** Creates new UserManagerDialog */
public UserManagerDialog( Frame owner, MapPlayerInfo mapPlayerInfo ) {
super( owner, "User Manager", true );
this.mapPlayerInfo = mapPlayerInfo;
Box mainBox = new Box( BoxLayout.X_AXIS );
Box leftBox = new Box( BoxLayout.Y_AXIS );
Box rightBox = new Box( BoxLayout.Y_AXIS );
playerList = new JList();
playerList.setPrototypeCellValue( "12345678901234567890" );
playerList.addListSelectionListener( this );
JScrollPane playerListScrollPane = new JScrollPane(playerList);
leftBox.add( playerListScrollPane );
mainBox.add( leftBox );
Box boxEdit = new Box( BoxLayout.Y_AXIS );
editID = SwingUtil.addTextField( boxEdit, "User ID", 10 );
editID.setEditable( false );
editUsername = SwingUtil.addTextField( boxEdit, "Username", 32 );
editPassword = SwingUtil.addTextField( boxEdit, "Password", 32 );
rightBox.add( boxEdit );
JPanel panelButtons = new JPanel();
labelStatus = new JLabel();
panelButtons.add( labelStatus );
SwingUtil.addButton( panelButtons, "Add As New", 'a', "AddAsNew", this );
SwingUtil.addButton( panelButtons, "Modify Selected", 'm', "ChangeSelected", this );
SwingUtil.addButton( panelButtons, "Delete Selected", 'd', "DeleteSelected", this );
SwingUtil.addButton( panelButtons, "Refresh List", 'r', "RefreshList", this );
JPanel rightPanel = new JPanel();
rightPanel.add( rightBox );
mainBox.add( rightPanel );
getContentPane().setLayout( new BorderLayout() );
getContentPane().add( mainBox, BorderLayout.CENTER );
getContentPane().add( panelButtons, BorderLayout.SOUTH );
refreshList();
}
/** Handles ActionEvent */
public void actionPerformed(ActionEvent e) {
String strAction = e.getActionCommand();
Debug.trace( "UserManagerDialog: Action: " + strAction );
PlayerInfo playerInfo = (PlayerInfo) playerList.getSelectedValue();
if ( strAction.equals( "AddAsNew" ) ) {
playerInfo = new PlayerInfo( editUsername.getText(), editPassword.getText() );
mapPlayerInfo.put( playerInfo );
} else if ( strAction.equals( "ChangeSelected" ) ) {
if ( playerInfo != null ) {
playerInfo.username = editUsername.getText();
playerInfo.password = editPassword.getText();
mapPlayerInfo.update( playerInfo );
}
} else if ( strAction.equals( "DeleteSelected" ) ) {
if ( playerInfo != null )
mapPlayerInfo.remove( playerInfo.id );
}
// Refresh the list
refreshList();
}
/** Handles valueChanged event from list */
public void valueChanged( ListSelectionEvent p1 ) {
PlayerInfo playerInfo = (PlayerInfo) playerList.getSelectedValue();
if ( playerInfo != null ) {
editUsername.setText( playerInfo.username );
editPassword.setText( playerInfo.password );
editID.setText( Integer.toString( playerInfo.id ) );
}
}
/** Refreshes the list data */
public void refreshList() {
Vector vector = new Vector( mapPlayerInfo.values() );
labelStatus.setText( Integer.toString( vector.size() ) + " users." );
Collections.sort( vector );
playerList.setListData( vector );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -