?? checkout.java
字號:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package com.redingsoft.checkout;import com.redingsoft.locationutil.LocationUtil;import com.redingsoft.sql.SetSQL;import com.redingsoft.sunsdk.swing.OJButton;import com.redingsoft.sunsdk.swing.xtwh_table;import com.redingsoft.timeutil.Util;import java.awt.BorderLayout;import java.awt.Dimension;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Vector;import java.util.logging.Level;import java.util.logging.Logger;import javax.swing.*;import javax.swing.table.DefaultTableModel;/** * * @author Administrator */public class Checkout extends JDialog implements ActionListener { //聲明一個標簽 JLabel jl1; //聲明一個文本框 JTextField tf1; //聲明2個按鈕 JButton bt1,bt2; //聲明一個表格 JTable tb1; //聲明一個表模式 DefaultTableModel dftm1; //聲明一個滾動面板 JScrollPane sp1; //聲明面板 JPanel toppane,centerpane,mainpane; //初始化表格數組 String cols[]={"姓名","性別","房間號","押金","消費","入住時間"}; String rows[][]=new String[0][6]; Vector v=new Vector(); String sql; //構造方法 public Checkout(){ //實例化標簽 jl1=new JLabel("輸入要結賬的房間號:"); //實例化文本框 tf1=new JTextField(15); //實例化按鈕 bt1=new OJButton("com/redingsoft/pic/u04.gif","結賬","給客人結賬",true); bt2=new OJButton("com/redingsoft/pic/b1.gif","刷新","刷新消費信息",true); //實例化表格 tb1=new JTable(); //設置表模式 dftm1=new xtwh_table(rows,cols); sql="select c_name 姓名,sex 性別,r_no 房間號,foregift 押金,account 消費,in_time 入住時間 from inlive where delmark=0 "; initTabel(sql); tb1.setModel(dftm1); //實例化滾動面 sp1=new JScrollPane(tb1); //設置滾動面板初始大小 sp1.setPreferredSize(new Dimension(480,380)); //實例化面板 toppane=new JPanel(); centerpane=new JPanel(); mainpane=new JPanel(new BorderLayout()); //添加到面板 toppane.add(jl1); toppane.add(tf1); toppane.add(bt1); toppane.add(bt2); //添加滾動面版 centerpane.add(sp1); //色繪制邊框修飾 centerpane.setBorder(BorderFactory.createTitledBorder(centerpane.getBorder(), "消費信息")); /////////////////////// mainpane.add(BorderLayout.NORTH,toppane); mainpane.add(BorderLayout.SOUTH,centerpane); //添加按鈕偵聽 bt1.addActionListener(this); bt2.addActionListener(this); this.add(mainpane); this.setSize(600, 500); this.setDefaultCloseOperation(Checkout.DISPOSE_ON_CLOSE); } /*************************************** public static void main(String []args){ new Checkout(); } *****************************************/ //初始化表格/* * 函數名:public void initTabel() * 參數:null * 返回值:void * 功能:制作并初始化表格 ***********************************/public void initTabel(String sql){ //設置表格的模式 //初始化表表模式 SetSQL.initDTM(dftm1,sql); if(dftm1.getRowCount()!=0){ tb1.setModel(dftm1); // tb=new JTable(); }else{ WarnMsg("提示","還沒有客戶消費信息。"); }}/******************************************************* * 函數名稱:WarnMsgPane(String title ,String msg ,component null) * 參數:tile 提示標題 msg 提示消息 顯示他的父組件 * 功能:為錯誤的輸入和連接錯誤做出提示 ************************************************************/ public static void WarnMsg(String title,String msg){ JOptionPane.showMessageDialog(null,msg,title,JOptionPane.WARNING_MESSAGE); } public void actionPerformed(ActionEvent e) { // throw new UnsupportedOperationException("Not supported yet."); Object o=e.getSource(); if(o==bt1){ ///結賬 String r_id=tf1.getText(); String date=Util.getNowDTime(); selinlive(); String incheckout="insert into checkout(chk_no,in_no,days,money,chk_time) values('"+v.get(0)+ r_id+"','"+v.get(0)+"',"+v.get(1)+","+v.get(2)+",'"+date+"')"; String delinlive="delete from inlive where r_no='"+r_id+"'"; //更新inlve表 String update="update roominfo set state='"+"可供"+"'"+"where id='"+r_id+"'"; //更新roomifo表 SetSQL.executeUpdate(incheckout); SetSQL.executeUpdate(delinlive); SetSQL.executeUpdate(update); Object money=v.get(2); Object foregift=v.get(3); // foregift.toString(); // money.toString(); float balance= Float.valueOf(foregift.toString())-Float.valueOf( money.toString()); WarnMsg("提示","余額為:"+String.valueOf(balance)); } if(o==bt2){ initTabel(sql); } } private void selinlive(){ String r_id=tf1.getText(); String selinlive="select * from inlive where r_no='"+r_id+"'"; ResultSet rs=SetSQL.executeQuery(selinlive); if(rs!=null){ try { while (rs.next()) { v.add(rs.getString("In_no")); v.add(rs.getString("days")); v.add(rs.getFloat("account")); v.add(rs.getFloat("foregift")); } } catch (SQLException ex) { // Logger.getLogger(Checkout.class.getName()).log(Level.SEVERE, null, ex); WarnMsg("提示","你輸入的房間不可以結賬!"); } } } }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -