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

📄 walletframe.txt

📁 软件工程的一个取款存款程序
💻 TXT
字号:
package cardinterface;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import data.*;
import com.borland.dbswing.*;
import user.*;

public class cardFrame extends JFrame implements ActionListener {
  JPanel contentPane;
  BorderLayout borderLayoutl = new BorderLayout();
  //创建字体类
  Font dialogl3 = new java.awt.Font("Dialog", 0' 13);
  //创建查询面板的控件
  JPanel searchPanel = new JPanel();
  JLabel jLabel1 = new JLabel();
  JTextField jTextField1 = new JTextField();
  JLabel jLabel2 = new JLabel();
  JTextField jTextField2 = new JTextField();
  JButton searchBtn = new JButton();
  JButton exitBtn = new JButton();
  //创建按钮面板的控件
  JPanel buttonPAnel = new JPanel()
  JLabel jLabel3 = new JLabel();
  JTextField jTextField3 = new JTextField();
  JButton depositBtn = new JButton();
  JButton withdrawBtn = new JButton();
  JButton getBalanceBtn = new JButton();
  JLabel jLabel4 = new JLabel();
  JTextField jTextField4 = new JTextField();
  //创建数据显示类
  TableScrollPane tableScrollPane1 = new TableScrollPane();
  JdbTable jdbTable1 = new JdbTable();
  //创建数据模块
  cardData wallteData1;
  //创建用户类
  User user = null;

  public cardFrame(User user) {
    this.user = user;
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  private void jbInit() throws Exception {
    contentPane = (JPanel) this.getContentPane();
    contentPane.setLayout(borderLayout1);
    this.setSize(new Dimension(500, 400));
    this.setTitle(user.getUserName() + "的钱包管理窗口“);
    //创建数据模块
    cardData1 new cardData();
    //显示用户的记录
    cardData1.checkUser(user.getUserName(), user.getUserPassword());
    //设置标签的属性
    jLabel1.setText("开始日期:");
    jLabel1.setFont(dialog13);
    jLabel2.setText("结束日期:");
    jLabel2.setFont(dialog13);
    jLabel3.setText("金额:");
    jLabel3.setFont(dialog13);
    jLabel4.setText("余额:");
    jLabel4.setFont(dialog13);
    //设置编辑框的属性
    jTextField1.setPreferredSize(new Dimension(80,22));
    jTextField1.setFont(dialog13);
    jTextField2.setPreferredSize(new Dimension(80,22));
    jTextField2.setFont(dialog13);
    jTextField3.setPreferredSize(new Dimension(80,22));
    jTextField3.setFont(dialog13);
    jTextField4.setPreferredSize(new Dimension(80,22));
    jTextField4.setFont(dialog13);
    jTextField4.setEditable(false);
    //设置按钮的属性
    searchBtn.setText("查询");
    searchBtn.setActionCommand("search");
    searchBtn.setFont(dialog13);
    searchBtn.addActionListener(this);
    exitBtn.setText("退出");
    exitBtnseaActionCommand("exit");
    exitBtn.setFont(dialog13);
    exitBtn.addActionListener(this);
    //将查询控件加入查询面板
    searchPanel.add(jLabel1,null);
    searchPanel.add(jTextField1,null);
    searchPanel.add(jLabel2,null);
    searchPanel.add(jTextField2,null);
    searchPanel.add(searchBtn,null);
    searchPanel.add(exitBtn,null);
    //设置按钮的属性
    depositBtn.setText("存款");
    depositBtn.setActionCommand("deposit");
    depositBtn.setFont(dialog13);
    depositBtn.addActionListener(this);
    withdrawBtn.setText("取款");
    withdrawBtn.setActionCommand("withdraw");
    withdrawBtn.setFont(dialog13);
    withdrawBtn.addActionListener(this);
    getBalanceBtn.setText("查询余额");
    getBalanceBtn.setActionCommand("balance");
    getBalanceBtn.Font(dialog13);
    getBalanceBtn.addActionListener(this);
    //将按钮控件加入按钮面板
    buttonPanel.add(jLabel3,null);
    buttonPanel.add(jTextField3,null);
    buttonPanel.add(depositBtn,null);
    buttonPanel.add(withdrawBtn,null);    
    buttonPanel.add(getBalanceBtn,null);
    buttonPanel.add(jLabel4,null);
    buttonPanel.add(jTextField4,null);
    //设置数据表格的数据源
    jdbTable1.setDataSet(cardData1.getcardDataSet());
    //使数据表格不可编辑
    jdbTable1.setEditable(false);
    //将数据表格加入数据滚动框
    tableScrollPane1.getViewport().add(jdbTable1 ,null);
    //为窗口面板加入各个控件
    contentpane.add(searchPanel,BorderLayout.NORTH);
    contentpane.add(tableScrollPane1,BorderLayout.CENTER);
    contentpane.add(buttonPanel,BorderLayout.SOUTH);
  }
  protected void processWindowEvent(WindowEvent e) {
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      System.exit(0);
    }
  }
  //单击按钮方法
  public void actionPerformed(ActionEvent e) {
    //取得按钮的动作字符串
    String actionCommand = e.getActionCommand().trim();
    //单击按钮的处理代码
    if (actionCommand.equals("deposit")) {
      //取得金额
      String amountStr = jTextField3.getText().trim();
      if(!((new NumberVerify()).verifyNum(amountSTR))){
        JOptionPane.showMessageDialog(null,"请输入金额输入框内输入数字,且该数字必须大于0");
        return;
      }
    double amount +Double.parseDouble(amountStr);
    //执行存款操作
    double balance = cardData1.deposit(Integer.parseInt(user.getUserId()),amount);
    //显示钱包的余额
    jTextField4.setText(string.valueOf(balance));
  }else if(actionCommand.equals("withdraw")){
    //取得金额
    String amountStr = jTextField3.getText().trim();
    if(!((new NumberVerify()).verifyNum(amountStr))){
      JOptionPane.showMessageDialog(null,"请输入金额输入框内输入数字,且该数字必须大于0");
      return;
    }
    double amount = Double.parseDouble(amountStr);
    //执行取款操作
  double balance=cardData1.withdraw(Integer.parseInt(user.getUserId()),amount);
    if(balance == -1){
      JOptionPane.showMessageDialog(null,"取款金额" + amountStr + "大于余额" +cardData1.getBalance());
    return;
    //显示钱包的余额
    jtextField4.setText(String.valueOf(balance));
  }else if(actionCommand.equals("balance")){
    //取得钱包的余额
    double balance = cardData1.getBalance();
    //显示钱包的余额
    jtextField4.setText(String.valueOf(balance));
  }else if(actionCommand.equals("search")){
    //创建日期检查类
    CheckDate checkDate = new CheckDate();
    int[] startDateints = new int[3];
    int[] endDateints = new int[3];
    //取得日期字符串
    String startDateStr = jTextField1.getText().trim();
    String endDateStr = jTextField2.getText().trim();
    //创建日期类
    java.util.Calendar startCalendar = java.util.Calendar.getInstance();
    java.util.Calendar endCalendar = java.util.Calendar.getInstance();
    //如果开始日期字符为空,显示全部记录
    if(startDateStr.length() == 0){
      cardData1.setShowAll(true);
      //重新显示card数据类的数据
      cardData1.getcardDataSet().refilter();
      return;
    }
    //检查开始日期字符串
    startDateInts = checkDate.checkDate(startDateStr);
    if(startDateInts[0] == -1){
      JOptionPane.showMessageDialog(null,"正确的日期格式是yyyy-mm-dd(年-月-日)," + "如2004-1-1");
      return;
    }
    //如果结束日期字符为空,显示开始日期至当前日期的记录
    if(endDateStr.length() == 0){
      //取得开始日期
      startCalendar.set(startDateInts[0],startDateInts[1],startDateInts[2],0,0,0);
        cardData1.setShowAll(false);
      //设置开始日期
      cardData1.setStartDate(new java.sql.Timestamp(startCalendar.getTimeInMillis()));
      //设置结束日期
      cardData1.setEndDate(new java.sql.Timestamp(endCalendar.getTimeInMillis()));
      //重新显示card数据类的数据
      cardData1.getcardDataSet().refilter();
      return;
    }
    //检查结束日期字符串  
    endDateInts = checkDate.checkDate(endDateStr);
    if(endDateInts[0] == -1){
      JOptionPane.showMessageDialog(null,"正确的日期格式是yyyy-mm-dd(年-月-日)," + "如2004-1-1");
      return;
      //取得开始日期
      startCalendar.set(startDateInts[0],startDateInts[1],startDateInts[2],0,0,0);
      //取得结束日期
      endCalendar.set(endDateInts[0],endDateInts[1],endDateInts[2],23,59,59);
        cardData1.setShowAll(false);
      //设置开始日期
      cardData1.setStartDate(new java.sql.Timestamp(startCalendar.getTimeInMillis()));
      //设置结束日期
      cardData1.setEndDate(new java.sql.Timestamp(endCalendar.getTimeInMillis()));
      //重新显示card数据类的数据
      cardData1.getcardDataSet().refilter();
    }else if(actionCommand.equals("exit")){
      System.exit(0);
    }
  }
}

⌨️ 快捷键说明

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