用GUI写一个Java的ATM自动提款机
时间: 2023-09-06 13:09:38 浏览: 43
好的,我可以为您提供一个简单的Java ATM自动提款机GUI程序,您可以根据您的需求进行修改和扩展。
首先,我们需要创建一个Java类,例如:ATM.java。该类需要实现Java的GUI库,例如:Swing。
以下是ATM.java的代码示例:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ATM extends JFrame implements ActionListener {
private JTextField txtAmount;
private JButton btnWithdraw;
private JLabel lblBalance;
private int balance;
public ATM() {
// 设置窗口标题
setTitle("ATM自动提款机");
// 创建组件
JLabel lblAmount = new JLabel("提款金额:");
txtAmount = new JTextField(10);
btnWithdraw = new JButton("提款");
lblBalance = new JLabel("余额:0元");
// 添加组件
JPanel panel = new JPanel(new GridLayout(3, 2));
panel.add(lblAmount);
panel.add(txtAmount);
panel.add(new JLabel(""));
panel.add(btnWithdraw);
panel.add(new JLabel("当前余额:"));
panel.add(lblBalance);
add(panel);
// 添加事件监听器
btnWithdraw.addActionListener(this);
// 设置窗口大小和位置
setSize(300, 150);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
// 提款按钮的事件处理方法
public void actionPerformed(ActionEvent e) {
try {
int amount = Integer.parseInt(txtAmount.getText());
if (amount <= 0) {
JOptionPane.showMessageDialog(this, "提款金额必须大于0元!");
} else if (amount > balance) {
JOptionPane.showMessageDialog(this, "余额不足!");
} else {
balance -= amount;
lblBalance.setText("余额:" + balance + "元");
JOptionPane.showMessageDialog(this, "提款成功!");
}
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(this, "提款金额必须是数字!");
}
}
public static void main(String[] args) {
// 创建ATM对象
new ATM();
}
}
```
ATM类继承了JFrame类,并实现了ActionListener接口。在构造函数中,我们创建了一个包含文本框、按钮和标签的面板,并将其添加到窗口中。我们还为按钮添加了一个事件监听器,以便在用户单击按钮时执行操作。
在actionPerformed方法中,我们从文本框中读取提款金额,并检查其是否有效。如果提款金额小于等于0或大于余额,则显示相应的错误消息。否则,我们从余额中扣除提款金额,并更新余额标签和显示成功消息。
在main方法中,我们创建了一个ATM对象,这将启动GUI应用程序。
以上是一个简单的Java ATM自动提款机GUI程序示例,可以根据您的需求进行修改和扩展。