?? cashledgerviewframe.java
字號(hào):
package stockinterface;import java.awt.*;import java.awt.event.*;import javax.swing.event.*;import javax.swing.*;import data.*;import maininterface.*;import user.*;import method.*;import java.util.Date;import print.*;public class CashLedgerViewFrame extends JFrame implements ActionListener { JPanel contentPane; //創(chuàng)建標(biāo)簽控件 JLabel jLabel1 = new JLabel(); JLabel jLabel2 = new JLabel(); JLabel jLabel3 = new JLabel(); JLabel jLabel4 = new JLabel(); //創(chuàng)建編輯框控件 JTextField jTextField1 = new JTextField(); JTextField jTextField2 = new JTextField(); JTextField jTextField3 = new JTextField(); //創(chuàng)建按鈕控件 JButton jButton1 = new JButton(); //創(chuàng)建滾動(dòng)框控件 JScrollPane jScrollPane1 = new JScrollPane(); //創(chuàng)建表格控件 JTable jTable1 = new JTable(); //創(chuàng)建表格模式類(lèi) StockManagementTableModel smTableModel = new StockManagementTableModel(); //創(chuàng)建標(biāo)題數(shù)組 String[] colNames = {"序號(hào)", "關(guān)聯(lián)票據(jù)標(biāo)識(shí)", "借貸標(biāo)識(shí)", "記帳用戶(hù)", "發(fā)生金額", "發(fā)生日期"}; //創(chuàng)建下拉列表框控件 JComboBox jComboBox1 = new JComboBox(); //創(chuàng)建字體類(lèi) Font dialog13 = new java.awt.Font("Dialog", 0, 13); //聲明數(shù)據(jù)類(lèi) StockManagementData stockManagementData = null; //聲明用戶(hù)類(lèi) User user = null; //聲明主窗口類(lèi) StockManagementMainFrame stockManagementMainFrame = null; //創(chuàng)建現(xiàn)金賬套數(shù)組 String[][] cashLedgers = new String[0][6]; //創(chuàng)建方法類(lèi) DataMethod dataMethod = new DataMethod(); //創(chuàng)建帳套日期字符串 String ledgerDate = ""; public CashLedgerViewFrame(StockManagementMainFrame stockManagementMainFrame) { this.stockManagementMainFrame = stockManagementMainFrame; //取得主窗口的數(shù)據(jù)類(lèi) stockManagementData = stockManagementMainFrame.getStockManagementData(); //取得主窗口的用戶(hù)類(lèi) user = stockManagementMainFrame.getUser(); //取得主窗口的賬套日期 ledgerDate = stockManagementMainFrame.getLedgerDate(); //取得進(jìn)貨模塊的用戶(hù)權(quán)限 int stockFunction = user.getStockFunction(); //檢查用戶(hù)權(quán)限 if ( (stockFunction & 16) != 16) { JOptionPane.showMessageDialog(null, user.getUserName() + "用戶(hù)不具有該權(quán)限."); System.exit(0); } //檢查賬套日期 if(ledgerDate.length() == 0){ JOptionPane.showMessageDialog(null, user.getUserName() + "請(qǐng)選擇賬套."); return; } try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(null); this.setSize(new Dimension(657, 349)); this.setTitle("現(xiàn)金日記賬查看窗口"); //設(shè)置標(biāo)簽的屬性 jLabel1.setText("查詢(xún)條件"); jLabel1.setBounds(new Rectangle(25, 33, 62, 16)); jLabel2.setText("查詢(xún)值"); jLabel2.setBounds(new Rectangle(259, 33, 50, 16)); jLabel3.setText("開(kāi)始日期"); jLabel3.setBounds(new Rectangle(25, 75, 67, 16)); jLabel4.setText("結(jié)束日期"); jLabel4.setBounds(new Rectangle(198, 75, 66, 16)); //設(shè)置編輯框的屬性 jTextField1.setBounds(new Rectangle(317, 33, 133, 22)); jTextField2.setBounds(new Rectangle(92, 75, 101, 22)); jTextField3.setBounds(new Rectangle(264, 75, 101, 22)); //設(shè)置按鈕的屬性 jButton1.setText("查詢(xún)"); jButton1.setActionCommand("search"); jButton1.setBounds(new Rectangle(371, 75, 79, 22)); //設(shè)置滾動(dòng)框的屬性 jScrollPane1.setBounds(new Rectangle(25, 118, 597, 171)); jScrollPane1.getViewport().add(jTable1, null); //設(shè)置下拉列表框的屬性 jComboBox1.setBounds(new Rectangle(86, 33, 156, 22)); jComboBox1.addItem("根據(jù)關(guān)聯(lián)票據(jù)標(biāo)識(shí)查詢(xún)"); jComboBox1.addItem("根據(jù)記帳用戶(hù)查詢(xún)"); jComboBox1.addItem("根據(jù)發(fā)生日期查詢(xún)"); //為面板加入各個(gè)控件 contentPane.add(jLabel1, null); contentPane.add(jLabel2, null); contentPane.add(jLabel3, null); contentPane.add(jLabel4, null); contentPane.add(jComboBox1, null); contentPane.add(jTextField1, null); contentPane.add(jTextField2, null); contentPane.add(jTextField3, null); contentPane.add(jButton1, null); contentPane.add(jScrollPane1, null); //設(shè)置窗口類(lèi)的字體和為按鈕加入動(dòng)作接收器 setupFontAndListener(); } //設(shè)置窗口類(lèi)的字體和為按鈕加入動(dòng)作接收器的方法 public void setupFontAndListener(){ Component[] components = contentPane.getComponents(); //創(chuàng)建臨時(shí)按鈕控件 JButton tmpBtn = new JButton(); for(int i = 0; i < components.length; i++){ components[i].setFont(dialog13); if(components[i].getClass().getName().equals("javax.swing.JButton")){ tmpBtn = (JButton)components[i]; tmpBtn.addActionListener(this); } } } //退出方法 public void exit(){ //隱藏窗口 this.setVisible(false); //清空數(shù)組的內(nèi)容 cashLedgers = new String[0][6]; this.showTableData(cashLedgers); //取得面板上的所有控件 Component[] components = contentPane.getComponents(); //創(chuàng)建臨時(shí)編輯框控件 JTextField tmpTextField = new JTextField(); for(int i = 0; i < components.length; i++){ if(components[i].getClass().getName().equals("javax.swing.JTextField")){ tmpTextField = (JTextField)components[i]; //清空編輯框的內(nèi)容 tmpTextField.setText(""); } } } //設(shè)置用戶(hù)的方法 public void setUser(User user) { this.user = user; } //設(shè)置賬套的方法 public void setLedgerDate(String ledgerDate) { this.ledgerDate = ledgerDate; } protected void processWindowEvent(WindowEvent e) { if (e.getID() == WindowEvent.WINDOW_CLOSING) { exit(); } } //顯示表格內(nèi)容的方法 public void showTableData(Object[][] detail){ //設(shè)置表格的標(biāo)題 smTableModel.setColumnNames(colNames); //設(shè)置表格的數(shù)據(jù) smTableModel.setData(detail); jTable1 = new JTable(smTableModel); //設(shè)置表格的字體 jTable1.setFont(dialog13); //將數(shù)據(jù)表格加入數(shù)據(jù)滾動(dòng)框 jScrollPane1.getViewport().add(jTable1, null); //設(shè)置列的寬度 jTable1.getColumnModel().getColumn(0).setPreferredWidth(8); jTable1.getColumnModel().getColumn(1).setPreferredWidth(50); jTable1.getColumnModel().getColumn(2).setPreferredWidth(8); jTable1.getColumnModel().getColumn(3).setPreferredWidth(20); jTable1.getColumnModel().getColumn(4).setPreferredWidth(10); jTable1.getColumnModel().getColumn(5).setPreferredWidth(60); } //查詢(xún)方法 public void search(){ //取得查詢(xún)選項(xiàng) int selectedIndex = jComboBox1.getSelectedIndex(); //取得編輯框的變量 String searchValue = jTextField1.getText().trim(); String startDateStr = jTextField2.getText().trim(); String endDateStr = jTextField3.getText().trim(); if (selectedIndex == 0 | selectedIndex == 1) { if (searchValue.length() == 0) { JOptionPane.showMessageDialog(null, "請(qǐng)輸入查詢(xún)值"); return; } switch (selectedIndex) { case 0: //根據(jù)關(guān)聯(lián)票據(jù)標(biāo)識(shí)取得記錄 cashLedgers = stockManagementData.getCashLedgerByStringField( ledgerDate, "linkId", searchValue); break; case 1: //根據(jù)記帳用戶(hù)取得記錄 cashLedgers = stockManagementData.getCashLedgerByStringField( ledgerDate, "filler", searchValue); break; } }else{ java.sql.Timestamp startDate = dataMethod.transferDate(startDateStr); java.sql.Timestamp endDate = dataMethod.transferEndDate(endDateStr); if(startDate == null | endDate == null){ JOptionPane.showMessageDialog(null, "日期輸入錯(cuò)誤,正確的日期格式是" + "yyyy-mm-dd(年-月-日),如2004-1-1"); return; } //根據(jù)日期取得記錄 cashLedgers = stockManagementData.getCashLedgerByFillDate(ledgerDate, startDate, endDate); } //顯示表格的內(nèi)容 this.showTableData(cashLedgers); } //單擊事件 public void actionPerformed(ActionEvent e) { //取得按鈕的動(dòng)作字符串 String actionCommand = e.getActionCommand().trim(); if (actionCommand.equals("search")) { //查詢(xún) search(); }else if(actionCommand.equals("exit")){ exit(); } }}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -