📄 newaccountframe.java
字号:
package myprojects.Account;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.AbstractTableModel;
import java.util.*;
import javax.swing.table.*;
import java.util.Vector;
import java.util.*;
//------------------
import myprojects.Account.*;
/**
* @(#)NewAccountFrame.java
*
* 新建帐户
*
*
* @author
* @version 1.00 05/12/25
*/
public class NewAccountFrame extends JFrame {
JPanel contentPane;
JLabel hintLabel = new JLabel();
JLabel accountIdLabel = new JLabel();
JLabel passwordLabel = new JLabel();
JTextField accountIdTextField = new JTextField();
JPasswordField passwordField = new JPasswordField();
ButtonGroup groupRadioB = new ButtonGroup();
JLabel nameLabel = new JLabel();
JTextField nameTextField = new JTextField();
JLabel sexLabel = new JLabel();
JRadioButton maleSexRadioButton = new JRadioButton();
JRadioButton femaleSexRadioButton = new JRadioButton();
JLabel wageLabel = new JLabel();
JTextField wageTextField = new JTextField();
JLabel addressLabel = new JLabel();
JTextField addressTextField = new JTextField();
JLabel accountKindLabel = new JLabel();
String[] accountKindItems = {"接待员","管理员"}; //0表示接待员,1表示管理员
JComboBox accountKindComboBox = new JComboBox(accountKindItems);
JButton affrimButton = new JButton();
JButton exitButton = new JButton();
///////////////////////////////////////////////
NewAccount newAccount = new NewAccount();
//Construct the frame
public NewAccountFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
hintLabel.setText("新建帐户的信息");
hintLabel.setBounds(new Rectangle(162, 14, 120, 17));
contentPane.setLayout(null);
this.setSize(new Dimension(400, 330));
this.setLocation(290,250);
this.setTitle("新建帐户");
this.setResizable(false); //使之不能改变大小
accountIdLabel.setText("帐号");
accountIdLabel.setBounds(new Rectangle(59, 54, 41, 17));
passwordLabel.setText("密码");
passwordLabel.setBounds(new Rectangle(200, 51, 59, 16));
accountIdTextField.setText("");
accountIdTextField.setBounds(new Rectangle(95, 49, 64, 22));
passwordField.setText("");
passwordField.setBounds(new Rectangle(236, 50, 63, 22));
accountKindLabel.setBounds(new Rectangle(0, 0, 41, 17));
nameLabel.setText("性名");
nameLabel.setBounds(new Rectangle(57, 129, 35, 16));
nameTextField.setText("");
nameTextField.setBounds(new Rectangle(95, 126, 64, 22));
sexLabel.setText("性别");
sexLabel.setBounds(new Rectangle(200, 129, 34, 16));
maleSexRadioButton.setText("男");
maleSexRadioButton.setBounds(new Rectangle(236, 125, 43, 25));
femaleSexRadioButton.setText("女");
femaleSexRadioButton.setBounds(new Rectangle(281, 125, 60, 25));
maleSexRadioButton.setSelected(true);
femaleSexRadioButton.setSelected(false);
groupRadioB.add(maleSexRadioButton);
groupRadioB.add(femaleSexRadioButton);
wageLabel.setText("工资");
wageLabel.setBounds(new Rectangle(57, 165, 34, 16));
wageTextField.setText("");
wageTextField.setBounds(new Rectangle(95, 160, 64, 22));
addressLabel.setText("地址");
addressLabel.setBounds(new Rectangle(55, 199, 34, 16));
addressTextField.setText("");
addressTextField.setBounds(new Rectangle(95, 196, 221, 22));
accountKindLabel.setText("类型");
accountKindLabel.setBounds(new Rectangle(59, 85, 41, 16));
accountKindComboBox.setBounds(new Rectangle(95, 87, 64, 22));
affrimButton.setBounds(new Rectangle(95, 236, 73, 25));
affrimButton.setText("确认");
exitButton.setBounds(new Rectangle(216, 236, 73, 25));
exitButton.setText("返回");
contentPane.add(accountKindLabel, null);
contentPane.add(accountIdLabel, null);
contentPane.add(accountKindLabel, null);
contentPane.add(accountKindLabel, null);
contentPane.add(accountKindComboBox, null);
contentPane.add(passwordLabel, null);
contentPane.add(accountIdTextField, null);
contentPane.add(accountKindComboBox, null);
contentPane.add(passwordField, null);
contentPane.add(passwordLabel, null);
contentPane.add(passwordField, null);
contentPane.add(nameTextField, null);
contentPane.add(nameLabel, null);
contentPane.add(sexLabel, null);
contentPane.add(maleSexRadioButton, null);
contentPane.add(femaleSexRadioButton, null);
contentPane.add(wageTextField, null);
contentPane.add(wageLabel, null);
contentPane.add(addressTextField, null);
contentPane.add(addressLabel, null);
contentPane.add(hintLabel, null);
contentPane.add(accountIdLabel, null);
contentPane.add(accountIdTextField, null);
contentPane.add(exitButton, null);
contentPane.add(affrimButton, null);
//按钮事件处理
exitButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
closeFrame();
}
});
affrimButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//验证新建的用户的房间是否已经存在于数据库中
Vector currentAccountList= new Vector();
currentAccountList = newAccount.getAllAccountInfo(); //获得所有的房间
Account a = new Account();
for(int i=0;i<currentAccountList.size();i++) {
a=(Account)currentAccountList.get(i);
if(a.getAccountId().trim().equals(accountIdTextField.getText().trim())){
JOptionPane.showMessageDialog(null,"该帐号已经存在,请输入不同的帐号","ok",
JOptionPane.ERROR_MESSAGE);
return;
}
}
//保存新建帐户信息.退出该界
//处理非法输入
try{
newAccount.account.setAccountWage(Integer.parseInt(wageTextField.getText().toString()));
}catch(NumberFormatException nfe){
JOptionPane.showMessageDialog(null,"工资输入错误,请重新输入(整数)!","ok",
JOptionPane.ERROR_MESSAGE);
return;
}
newAccount.account.setAccountId(accountIdTextField.getText().toString().trim());
newAccount.account.setAccountClass(accountKindComboBox.getSelectedIndex());
System.out.println("帐户种类: "+accountKindComboBox.getSelectedIndex() );
//将密码框中字符数组转化为字符串
String passwd=new String(passwordField.getPassword());
System.out.println(passwd);
newAccount.account.setPassword(passwd.trim());
newAccount.account.setAccountName(nameTextField.getText().toString().trim());
//设置性别
if(maleSexRadioButton.isSelected())
newAccount.account.setAccountSex(1);
else
newAccount.account.setAccountSex(0);
newAccount.account.setAccountAddress(addressTextField.getText().toString().trim());
newAccount.saveNewAccountInfo();
newAccount.account.printAccountInfo();
closeFrame();
}
});
////////////////////////////////////////////
this.setVisible(true);
////////////////////////////////////////////
}
//exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
closeFrame();
}
}
void closeFrame() {
this.dispose();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -