<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ReturnBook.java ~~~ package zyw.admin; import zyw.tools.DataBase; import javax.swing.*; import javax.swing.table.DefaultTableModel; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Date; import java.util.Vector; public class ReturnBook extends JPanel implements ActionListener { DataBase db; String sql; String str; //創建分割方向為上下的JSplitePane對象 private JSplitPane jsp=new JSplitPane(JSplitPane.VERTICAL_SPLIT,true); //創建JPanel對象 private JPanel jpt=new JPanel(); private JPanel jpb=new JPanel(); //創建按鈕數組 private JButton[] jbArray=new JButton[] { new JButton ("掛失"), new JButton ("歸還"), new JButton ("確定") }; private JLabel jl=new JLabel("請輸入你的學號:"); private JTextField jtxt=new JTextField(); //創建標題 Vector<String> head = new Vector<String>(); { head.add("書號"); head.add("學號"); head.add("借閱時間"); head.add("還書時間"); head.add("是否過期"); head.add("是否預約"); } // Vector<Vector> data=new Vector<Vector>(); //創建表格模型 DefaultTableModel dtm=new DefaultTableModel(data,head); //創建Jtable對象 JTable jt=new JTable(dtm); //將JTable封裝到滾動窗格 JScrollPane jspn=new JScrollPane(jt); public ReturnBook() { this.setLayout(new GridLayout(1,1)); //設置整個RetrunBook界面上下部分均為空布局管理器 jpt.setLayout(null); jpb.setLayout(null); //設置Label的大小及位置 jl.setBounds(5,15,100,20); //將Jlabel添加到jpt面板上 jpt.add(jl); //為JTextField設置大小及位置 jtxt.setBounds(105,15,300,20); //把JTextField添加到jpt jpt.add(jtxt); //設置JBuuton的大小及位置 jbArray[0].setBounds(5,50,100,20); jbArray[1].setBounds(150,50,100,20); jbArray[2].setBounds(295,50,100,20); //添加JButton并給其添加事件監聽器 for(int i=0;i<3;i++) { jpt.add(jbArray[i]); jbArray[i].addActionListener(this); } //把jpt設置到jsp的上部窗格 jsp.setTopComponent(jpt); jsp.setBottomComponent(jspn); jsp.setDividerSize(4); this.add(jsp); //設置jsp中分割條的初始位置 jsp.setDividerLocation(80); //設置窗體的大小位置及可見性 this.setBounds(10,10,800,600); this.setVisible(true); } public void loseBook(int row){ String bname=""; int lbno=0; int bno=Integer.parseInt((String)jt.getValueAt(row,0));//得到丟失書的書號 String sno=(String)jt.getValueAt(row,1);//得到丟失書的人學號 sql="select BookName from BOOK where BookNO="+bno; db=new DataBase(); //找到最大的丟失記錄號 sql="select MAX(LbNO) from LoseBook"; sql="insert into LOSEBOOK values("+lbno+","+sno+","+bno+",'"+bname+"')";//向丟書記錄表中插入記錄 sql="select BookNo from ORDERREPORT where BookNO="+bno;//檢查預約表中是否預約該書,若有,刪除 sql="select BookNo from EXCEEDTIME where BookNO="+bno;//檢查超期表中是否有該書,若有,刪除 sql="delete from RECORD where BookNO="+bno;//從借書表中將丟失圖書的記錄刪除 sql="delete from BooK where BookNo="+bno;//從圖書表中將丟失的書刪除 int i=0; if(i>0){//提示掛失成功 JOptionPane.showMessageDialog(this,"恭喜你,掛失成功!!!","消息", JOptionPane.INFORMATION_MESSAGE); return; } else{//提示掛失失敗 JOptionPane.showMessageDialog(this,"對不起,掛失失敗!!!", "信息",JOptionPane.INFORMATION_MESSAGE); return; } } public void updateTable(){//實現界面下部表格的更新 sql="select * from RECORD where StuNO="+jtxt.getText().trim(); db=new DataBase(); Vector<Vector> vtemp = new Vector<Vector>(); jt.clearSelection(); dtm.setDataVector(vtemp,head);//更新table jt.updateUI(); jt.repaint(); } public int checkTime(int sno,int bno) {//-1代表超期沒交罰款 0代表當天借的書 1代表正常還的書 -2表示超期交罰款 int day=0; int flag=0; String bname=""; Date now=new Date(); String returntime=""; sql="select ReturnTime from RECORD where StuNO="+sno+" and BookNO="+bno; db=new DataBase(); String[] strday=returntime.split("\\.");//這里使用了簡單的正則式,規定了時間的格式 int ryear=Integer.parseInt(strday[0].trim()); int rmonth=Integer.parseInt(strday[1].trim()); int rday=Integer.parseInt(strday[2].trim()); day=(now.getYear()+1900-ryear)*365+(now.getMonth()+1-rmonth)*30+(now.getDate()-rday); if(day==-30) {//表示當天借的書 JOptionPane.showMessageDialog(this,"今天借的書不能還!!!", "消息",JOptionPane.INFORMATION_MESSAGE); flag=0; } else if(day>0) {//代表超期了 int i=JOptionPane.showConfirmDialog(this,"該書已過期,應交罰款為" +day*0.1+"元,是否繳納罰款?","消息",JOptionPane.YES_NO_OPTION); if(i==JOptionPane.YES_OPTION){ JOptionPane.showMessageDialog(this,"你已成功交費"+day*0.1+"元", "消息",JOptionPane.INFORMATION_MESSAGE); flag=-2; } else {//超期且沒交費 flag=-1; sql="select BookName from BOOK where BookNO="+bno; sql="insert into EXCEEDTIME(StuNO,BookNO,BookName,DelayTime) values("+sno+","+bno+",'"+bname+"',"+day+")"; } } else {//表示可以正常歸還的書 flag=1; } return flag; } public static void main(String[] args) { new ReturnBook(); } @Override public void actionPerformed(ActionEvent e) { if(e.getSource()==jbArray[2]){//事件源為"確定"按鈕 if(jtxt.getText().trim().equals("")){//學號輸入為空,提示 JOptionPane.showMessageDialog(this,"請輸入學號", "消息",JOptionPane.INFORMATION_MESSAGE); return; } else{//根據學號進行查詢 sql="select * from RECORD where StuNO="+jtxt.getText().trim(); db=new DataBase(); Vector<Vector> vtemp = new Vector<Vector>(); } } if(e.getSource()==jbArray[1]){//當要歸還圖書 int row=jt.getSelectedRow(); if(row<0){//如果未選中下部表中的某些內容,進行提示 JOptionPane.showMessageDialog(this,"請選擇要歸還的書!!!","消息", JOptionPane.INFORMATION_MESSAGE); return; } str=(String)jt.getValueAt(row,0);//得到書號 int sno=Integer.parseInt((String)jt.getValueAt(row,1)); int bno=Integer.parseInt(str); int flag=checkTime(sno,bno); //判斷是否超期 if(flag==-1){//如果圖書超期,則將取消該同學的借書權限 db=new DataBase(); sql="update student set permitted='否' where StuNO="+sno; } if(flag==0){return;}//如果圖書未超期,則進行歸還操作 sql="Delete from RECORD where BookNO="+Integer.parseInt(str); db=new DataBase(); sql="update book set borrowed='否' where BookNO="+Integer.parseInt(str); updateTable(); } if(e.getSource()==jbArray[0]){//需要掛失圖書 int row=jt.getSelectedRow(); if(row<0){ JOptionPane.showMessageDialog(this,"請選擇要掛失的書!!!","消息", JOptionPane.INFORMATION_MESSAGE); return; } loseBook(row); updateTable(); } } } ~~~ ![](https://box.kancloud.cn/d8ce8a22b58c82db0f1f2251582c7c4f_1919x280.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看