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

📄 selectroledialog.java.svn-base

📁 梦界家园程序开发基底框架
💻 SVN-BASE
字号:
package jm.form.gui.swing.game.form;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Rectangle;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.ArrayList;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

import jm.entity.command.GameCommandKeys;
import jm.entity.game.base.EMJ0Z0100;
import jm.entity.game.base.EMJ0Z0500;
import jm.entity.game.base.EMJ0Z0700;
import jm.entity.util.MenuFrameBean;
import jm.form.gui.swing.game.form.layout.AttributePanel;
import jm.form.gui.swing.game.sy.sy00.SY00000B;
import jm.form.gui.swing.game.util.model.BaseDialog;
import jm.framework.gui.JMEntity;
import jm.framework.gui.ReLoad;
import jm.framework.util.SimpleDBTable;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import jm.form.gui.swing.game.system.SystemManager;
import jm.entity.game.player.EMJ000000;
import jm.util.JMUtility;
import jm.entity.system.ESC000300;
import jm.entity.util.SEQNo;
import jm.entity.command.GameOftenCommandKeys;
import jm.framework.util.SimpleEntityTable;
import jm.framework.util.DBOutValue;

/**
 * <p>Title: JM 整合Swing控件,使用配置信息</p>
 *
 * <p>Copyright: Copyright (c) 2004-2006</p>
 *
 * <p>Company: 1SHome</p>
 *
 * <p>@author Spook</p>
 *
 * @since 1.3
 * @see JDK 1.5.0.6
 */
public class SelectRoleDialog extends BaseDialog implements ReLoad {
    private JLabel StirpsLabel = new JLabel();
    private JLabel RoleLabel = new JLabel();
    private JComboBox Stirps = new JComboBox();
    private JComboBox Role = new JComboBox();
    private AttributePanel AttributePanel = new AttributePanel();
    private JPanel PicPanel = new JPanel();
    private JPanel RolePanel = new JPanel();
    private JPanel NamePanel = new JPanel();
    private JButton SureButton = new JButton();
    private JLabel NameLabel = new JLabel();
    private JTextField Name = new JTextField();
    private JLabel PicLabel = new JLabel();
    private BorderLayout borderLayout1 = new BorderLayout();
    private JLabel GeniusLabel = new JLabel();
    private JComboBox Genius = new JComboBox();
    private JPanel jPanel1 = new JPanel();
    private JLabel userIDLabel = new JLabel();
    private JTextField UserID = new JTextField();
    private JTextField Pasword = new JTextField();
    private JLabel passwordLabel = new JLabel();

    public Object getReturnData (int type) {
        SY00000B form = new SY00000B();
        form.setLoginID(UserID.getText());
        form.setPassWord(Pasword.getText());
        return form;
    }

    public SelectRoleDialog (Frame owner, boolean modal) {
        super(owner, modal);
    }

    public void actionPerformed (MenuFrameBean bean, Object aoParams) {
        if (aoParams instanceof SY00000B) {
            SY00000B form = (SY00000B) aoParams;
            UserID.setText(form.getLoginID());
            Pasword.setText(form.getPassWord());
            return;
        }
    }

    public boolean init (String asAppId, String asInitOption) {
        try {
            this.setSize(new Dimension(407, 378));
            getContentPane().setLayout(null);
            StirpsLabel.setText("种族");
            StirpsLabel.setBounds(new Rectangle(10, 8, 37, 22));
            Stirps.setBounds(new Rectangle(42, 8, 81, 23));

            AttributePanel.setLayout(null);
            AttributePanel.setBorder(BorderFactory.createEtchedBorder());
            AttributePanel.setBounds(new Rectangle(214, 137, 173, 170));
            PicPanel.setBorder(BorderFactory.createEtchedBorder());
            PicPanel.setBounds(new Rectangle(13, 137, 175, 170));
            PicPanel.setLayout(borderLayout1);
            RolePanel.setBorder(BorderFactory.createEtchedBorder());
            RolePanel.setBounds(new Rectangle(13, 95, 374, 38));
            RolePanel.setLayout(null);
            NamePanel.setBorder(BorderFactory.createEtchedBorder());
            NamePanel.setBounds(new Rectangle(13, 54, 374, 38));
            NamePanel.setLayout(null);
            SureButton.setBounds(new Rectangle(130, 313, 140, 24));
            SureButton.setText("确定");
            SureButton.addActionListener(new ActionListener() {
                public void actionPerformed (ActionEvent e) {
                    creatUser();
                }
            });
            NameLabel.setText("称呼");
            NameLabel.setBounds(new Rectangle(10, 8, 33, 22));
            Name.setBounds(new Rectangle(42, 7, 321, 24));
            GeniusLabel.setText("天赋");
            GeniusLabel.setBounds(new Rectangle(127, 8, 33, 22));
            Genius.setBounds(new Rectangle(161, 8, 81, 23));

            RoleLabel.setText("角色");
            RoleLabel.setBounds(new Rectangle(249, 8, 33, 22));
            Role.setBounds(new Rectangle(282, 8, 81, 23));
            Role.addItemListener(new ItemListener() {
                public void itemStateChanged (ItemEvent e) {
                    Role_itemStateChanged(e);
                }
            });

            jPanel1.setBorder(BorderFactory.createEtchedBorder());
            jPanel1.setBounds(new Rectangle(13, 11, 374, 38));
            jPanel1.setLayout(null);
            userIDLabel.setText("用户名");
            userIDLabel.setBounds(new Rectangle(9, 11, 45, 15));
            UserID.setBounds(new Rectangle(55, 5, 118, 24));
            Pasword.setBounds(new Rectangle(242, 6, 118, 24));
            passwordLabel.setText("密码");
            passwordLabel.setBounds(new Rectangle(205, 11, 24, 15));
            NamePanel.add(NameLabel);
            NamePanel.add(Name);
            this.getContentPane().add(jPanel1);
            jPanel1.add(userIDLabel);
            jPanel1.add(Pasword);
            jPanel1.add(UserID);
            jPanel1.add(passwordLabel);
            this.getContentPane().add(PicPanel);
            PicPanel.add(PicLabel, java.awt.BorderLayout.CENTER);
            this.getContentPane().add(AttributePanel);
            this.getContentPane().add(SureButton);
            this.getContentPane().add(RolePanel);
            Role.setSelectedIndex(0);
            Role_itemStateChanged(null);
            RolePanel.add(StirpsLabel);
            RolePanel.add(Genius);
            RolePanel.add(Stirps);
            RolePanel.add(GeniusLabel);
            RolePanel.add(RoleLabel);
            RolePanel.add(Role);
            this.getContentPane().add(NamePanel);
        } catch (Exception exception) {
            exception.printStackTrace();
        }
        return true;
    }

    public void Role_itemStateChanged (ItemEvent e) {
        EMJ0Z0100 attribute = (EMJ0Z0100) RoleDatasSource.get(Role.getSelectedIndex());
        AttributePanel.actionPerformed(null, attribute);
    }

    /**
     * 创建用户
     */
    private void creatUser () {
        if ("".equals(UserID.getText().trim())) {
            SystemManager.showInfoMessageDialog("请输入用户名");
            UserID.requestFocus();
            return;
        }
        if ("".equals(Pasword.getText().trim())) {
            SystemManager.showInfoMessageDialog("请输入密码");
            Pasword.requestFocus();
            return;
        }
        if ("".equals(Name.getText().trim())) {
            SystemManager.showInfoMessageDialog("请输入游戏中的名字");
            Name.requestFocus();
            return;
        }
        Pasword.getText();
        try {
            /* 创建新的用户*/
            SimpleEntityTable entityTable = null;
            boolean result = false;
            DBOutValue out = null;
            //检查用户名是否存在
            ESC000300 login = new ESC000300();
            login.setLoginID(UserID.getText()); //登录ID
            entityTable = new SimpleEntityTable(login);
            if (entityTable.select().getResultCount() != 0) {
                SystemManager.showInfoMessageDialog("该用户名不可用,请更换");
                UserID.requestFocus();
                return;
            }
            login.setPassWord(Pasword.getText());
            //插入登录数据
            while (result == false) {
                login.setUserID(SEQNo.getInstance().getNextSeqNo(GameOftenCommandKeys.SEQ_PLAYERID)); //玩家编号
                out = entityTable.insert();
                result = out.getResult();
            }

            //插入游戏角色数据
            EMJ000000 user = new EMJ000000();
            EMJ0Z0100 role = (EMJ0Z0100) RoleDatasSource.get(Role.getSelectedIndex());
            JMUtility.reflectClass(AttributePanel.getReturnData(0), user);
            JMUtility.reflectClass(role, user);

            user.setRoleName(Name.getText());
            user.setGeniusID(((EMJ0Z0500) GeniusDatasSource.get(Genius.getSelectedIndex())).getGeniusID());

            user.setLevels("0");
            user.setExperience("0");
            user.setHP("0");
            user.setMP("0");
            user.setFatigue("0");
            user.setHunger("0");
            user.setRealmID("000000");
            user.setRepute("0");
            user.setPK("0");

            //插入登录数据
            entityTable = new SimpleEntityTable(user);
            result = false;
            while (result == false) {
                user.setPlayerRoleID(SEQNo.getInstance().getNextSeqNo(GameOftenCommandKeys.SEQ_PLAYERROLEID)); //玩家角色编号
                user.setPlayerID(login.getUserID()); //玩家编号
                out =  entityTable.insert();
                result = out.getResult();
            }
            SystemManager.showInfoMessageDialog("游戏角色创建成功");
            this.exit();
        } catch (Exception e) {
            SystemManager.showInfoMessageDialog("用户创建失败,请更换");
            UserID.requestFocus();
            return;
        }
    }

    public boolean queryClose () {
        return true;
    }

    private ArrayList<JMEntity> StirpsDatasSource = null;
    private ArrayList<JMEntity> GeniusDatasSource = null;
    private ArrayList<JMEntity> RoleDatasSource = null;
    public boolean reLoad () {
        try {
            SimpleDBTable dbTable = null;
            //获得种族
            dbTable = new SimpleDBTable(GameCommandKeys.DBTABLE_STIRPS, true);
            dbTable.setEntityName(GameCommandKeys.PATH_ENTITY_BASE + GameCommandKeys.DBTABLE_STIRPS);
            StirpsDatasSource = dbTable.select().getList();
            for (int i = 0; i < StirpsDatasSource.size(); i++) {
                Stirps.addItem(((EMJ0Z0700) StirpsDatasSource.get(i)).getName());
            }

            //获得天赋
            dbTable = new SimpleDBTable(GameCommandKeys.DBTABLE_GENIUS, true);
            dbTable.setEntityName(GameCommandKeys.PATH_ENTITY_BASE + GameCommandKeys.DBTABLE_GENIUS);
            GeniusDatasSource = dbTable.select().getList();
            for (int i = 0; i < GeniusDatasSource.size(); i++) {
                Genius.addItem(((EMJ0Z0500) GeniusDatasSource.get(i)).getName());
            }

            //获得角色
            dbTable = new SimpleDBTable(GameCommandKeys.DBTABLE_ROLE, true);
            dbTable.setEntityName(GameCommandKeys.PATH_ENTITY_BASE + GameCommandKeys.DBTABLE_ROLE);
            RoleDatasSource = dbTable.select().getList();
            for (int i = 0; i < RoleDatasSource.size(); i++) {
                Role.addItem(((EMJ0Z0100) RoleDatasSource.get(i)).getName());
            }

            return true;
        } catch (Exception e) {
        }
        return false;
    }

}

⌨️ 快捷键说明

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