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

📄 usermanagerdialog.java

📁 Massively Multiplayer Space Trading and Combat game. This is an online strategy game, not a 3D space
💻 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 + -