完成一个桌面系统,模拟ATM系统(登录、存 取款操作、显示余额)等。 系统包含功能: 1、完成用户的注册和用户的登录。 2、至少完成一个模块的增删改查。 3、用户信息和模块信息存储到数组或者集合或者文 件,或者数据库口均可。 必须使用的知识点 使用集合或者数组或者文件或者数据库存储数据, 使用类的封装。 GUI图形界面Java
时间: 2024-01-24 08:18:13 浏览: 73
用Java模拟ATM系统
3星 · 编辑精心推荐
好的,这个任务需要使用Java编写GUI图形界面,并实现ATM系统的各项功能。以下是一个简单的实现思路:
1. 创建GUI界面,包括登录和主界面两个页面。
2. 在登录页面,用户输入用户名和密码,点击“登录”按钮后验证用户信息。如果验证成功,跳转到主界面;否则,显示错误提示信息。
3. 在主界面,用户可以选择进行存款、取款、查询余额等操作。对于每个操作,创建相应的窗口或对话框来输入和显示相关信息。
4. 在存款、取款和查询余额等操作中,需要对用户的账户信息进行读取和更新。可以使用集合、数组、文件或数据库来存储账户信息。
5. 对于至少一个模块的增删改查操作,可以将其作为一个独立的功能模块,创建相应的窗口或对话框来输入和显示相关信息。同样需要对数据进行读取和更新操作。
下面是一个简单的代码实现示例,仅供参考:
```
// 主界面窗口
public class MainFrame extends JFrame {
private JLabel lblBalance; // 显示余额的标签
private JButton btnDeposit; // 存款按钮
private JButton btnWithdraw; // 取款按钮
private JButton btnQuery; // 查询余额按钮
private JButton btnModule; // 模块操作按钮
// 构造函数
public MainFrame() {
// 初始化界面
// ...
// 绑定按钮事件
btnDeposit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 显示存款对话框
DepositDialog dlg = new DepositDialog(MainFrame.this);
dlg.setVisible(true);
// 更新余额显示
double balance = AccountManager.getInstance().getBalance();
lblBalance.setText("余额:" + balance);
}
});
btnWithdraw.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 显示取款对话框
WithdrawDialog dlg = new WithdrawDialog(MainFrame.this);
dlg.setVisible(true);
// 更新余额显示
double balance = AccountManager.getInstance().getBalance();
lblBalance.setText("余额:" + balance);
}
});
btnQuery.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 显示余额对话框
double balance = AccountManager.getInstance().getBalance();
JOptionPane.showMessageDialog(MainFrame.this, "余额:" + balance);
}
});
btnModule.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 显示模块操作窗口
ModuleFrame frame = new ModuleFrame();
frame.setVisible(true);
}
});
}
}
// 存款对话框
public class DepositDialog extends JDialog {
private JTextField txtAmount; // 存款金额输入框
private JButton btnOk; // 确认按钮
// 构造函数
public DepositDialog(Frame parent) {
super(parent, "存款", true);
// 初始化界面
// ...
// 绑定按钮事件
btnOk.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 获取存款金额
try {
double amount = Double.parseDouble(txtAmount.getText());
// 更新账户信息
AccountManager.getInstance().deposit(amount);
JOptionPane.showMessageDialog(DepositDialog.this, "存款成功");
// 关闭对话框
dispose();
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(DepositDialog.this, "请输入有效的金额");
}
}
});
}
}
// 取款对话框和查询余额对话框略
// 模块操作窗口
public class ModuleFrame extends JFrame {
private JTable table; // 显示模块信息的表格
private JButton btnAdd; // 添加按钮
private JButton btnEdit; // 编辑按钮
private JButton btnDelete; // 删除按钮
// 构造函数
public ModuleFrame() {
// 初始化界面
// ...
// 绑定按钮事件
btnAdd.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 显示添加对话框
AddModuleDialog dlg = new AddModuleDialog(ModuleFrame.this);
dlg.setVisible(true);
// 更新表格显示
// ...
}
});
btnEdit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 获取选中的行
int row = table.getSelectedRow();
if (row < 0) {
JOptionPane.showMessageDialog(ModuleFrame.this, "请选择要编辑的模块");
return;
}
// 获取选中行的数据
// ...
// 显示编辑对话框
EditModuleDialog dlg = new EditModuleDialog(ModuleFrame.this, data);
dlg.setVisible(true);
// 更新表格显示
// ...
}
});
btnDelete.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 获取选中的行
int row = table.getSelectedRow();
if (row < 0) {
JOptionPane.showMessageDialog(ModuleFrame.this, "请选择要删除的模块");
return;
}
// 获取选中行的数据
// ...
// 删除数据
// ...
// 更新表格显示
// ...
}
});
}
}
// 添加模块对话框和编辑模块对话框略
```
以上代码仅为示例,实际实现需要根据具体需求进行调整。同时,需要注意界面设计和代码结构的合理性,以提高代码的可读性和可维护性。
阅读全文