?? stocktransfercheckframe.java
字號:
package stockmanageinterface;
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;
public class StockTransferCheckFrame extends JFrame implements ActionListener {
JPanel contentPane;
//創(chuàng)建標簽控件
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
JLabel jLabel5 = new JLabel();
JLabel jLabel6 = new JLabel();
JLabel jLabel7 = new JLabel();
JLabel jLabel8 = new JLabel();
JLabel jLabel9 = new JLabel();
JLabel jLabel10 = new JLabel();
JLabel jLabel11 = new JLabel();
JLabel jLabel12 = new JLabel();
JLabel jLabel13 = new JLabel();
JLabel jLabel14 = new JLabel();
JLabel jLabel15 = new JLabel();
JLabel jLabel16 = new JLabel();
JLabel jLabel17 = new JLabel();
//創(chuàng)建編輯框控件
JTextField jTextField1 = new JTextField();
JTextField jTextField2 = new JTextField();
JTextField jTextField3 = new JTextField();
JTextField jTextField4 = new JTextField();
JTextField jTextField5 = new JTextField();
JTextField jTextField6 = new JTextField();
JTextField jTextField7 = new JTextField();
JTextField jTextField8 = new JTextField();
JTextField jTextField9 = new JTextField();
JTextField jTextField10 = new JTextField();
JTextField jTextField11 = new JTextField();
JTextField jTextField12 = new JTextField();
JTextField jTextField13 = new JTextField();
//創(chuàng)建按鈕控件
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
JButton jButton4 = new JButton();
JButton jButton5 = new JButton();
//創(chuàng)建滾動框控件
JScrollPane jScrollPane1 = new JScrollPane();
JScrollPane jScrollPane2 = new JScrollPane();
JScrollPane jScrollPane3 = new JScrollPane();
//創(chuàng)建列表框數(shù)據(jù)類和列表框控件
DefaultListModel listData1 = new DefaultListModel();
JList jList1 = new JList(listData1);
//創(chuàng)建表格控件
JTable jTable1 = new JTable();
//創(chuàng)建表格模式類
StockSubLedgerTableModel sslTableModel = new StockSubLedgerTableModel();
//創(chuàng)建標題數(shù)組
String[] colNames = {"明細編號", "單據(jù)編號", "商品條形碼", "進貨價", "數(shù)量", "金額", "有效期"};
//創(chuàng)建下拉列表框控件
JComboBox jComboBox1 = new JComboBox();
//創(chuàng)建文本框控件
JTextArea jTextArea1 = new JTextArea();
//創(chuàng)建字體類
Font dialog13 = new java.awt.Font("Dialog", 0, 13);
//聲明數(shù)據(jù)類
StockManagementData stockManagementData = null;
//聲明用戶類
User user = null;
//聲明主窗口類
StockManagementMainFrame stockManagementMainFrame = null;
//創(chuàng)建庫存賬套數(shù)組
String[][] stockLedgers = new String[0][13];
//創(chuàng)建庫存賬套明細數(shù)組
String[][] stockSubLedgers = new String[0][6];
//創(chuàng)建庫存賬套明細表格數(shù)組
Object[][] stockSubLedgerObjects = new Object[0][7];
//創(chuàng)建方法類
DataMethod dataMethod = new DataMethod();
//創(chuàng)建完成狀態(tài)數(shù)組
String[] onProcesses = {"進行", "撤消", "完成"};
//創(chuàng)建帳套日期字符串
String ledgerDate = "";
public StockTransferCheckFrame(StockManagementMainFrame stockManagementMainFrame) {
this.stockManagementMainFrame = stockManagementMainFrame;
//取得主窗口的數(shù)據(jù)類
stockManagementData = stockManagementMainFrame.getStockManagementData();
//取得主窗口的用戶類
user = stockManagementMainFrame.getUser();
//取得主窗口的賬套日期
ledgerDate = stockManagementMainFrame.getLedgerDate();
//取得庫存模塊的用戶權(quán)限
int stockManageFunction = user.getStockManageFunction();
//檢查用戶權(quán)限
if ( (stockManageFunction & 2) != 2) {
JOptionPane.showMessageDialog(null, user.getUserName() + "用戶不具有該權(quán)限.");
System.exit(0);
}
//檢查賬套日期
if(ledgerDate.length() == 0){
JOptionPane.showMessageDialog(null, user.getUserName() + "請選擇賬套.");
return;
}
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(null);
this.setSize(new Dimension(667, 632));
this.setTitle("商品驗收窗口");
//設(shè)置標簽的屬性
jLabel1.setText("商品調(diào)入單列表");
jLabel1.setBounds(new Rectangle(28, 19, 134, 16));
jLabel2.setText("查詢條件");
jLabel2.setBounds(new Rectangle(192, 45, 62, 16));
jLabel3.setText("查詢值");
jLabel3.setBounds(new Rectangle(440, 45, 50, 16));
jLabel4.setText("開始日期");
jLabel4.setBounds(new Rectangle(192, 76, 67, 16));
jLabel5.setText("結(jié)束日期");
jLabel5.setBounds(new Rectangle(373, 76, 66, 16));
jLabel6.setText("單據(jù)編號");
jLabel6.setBounds(new Rectangle(192, 107, 66, 16));
jLabel7.setText("關(guān)聯(lián)標識");
jLabel7.setBounds(new Rectangle(413, 107, 54, 16));
jLabel8.setText("商品調(diào)出員");
jLabel8.setBounds(new Rectangle(192, 138, 66, 16));
jLabel9.setText("商品驗收員");
jLabel9.setBounds(new Rectangle(413, 138, 66, 16));
jLabel10.setText("調(diào)出倉庫");
jLabel10.setBounds(new Rectangle(192, 170, 66, 16));
jLabel11.setText("調(diào)入倉庫");
jLabel11.setBounds(new Rectangle(413, 170, 66, 16));
jLabel12.setText("調(diào)出日期");
jLabel12.setBounds(new Rectangle(192, 201, 66, 16));
jLabel13.setText("驗收日期");
jLabel13.setBounds(new Rectangle(192, 232, 66, 16));
jLabel14.setText("完成狀態(tài)");
jLabel14.setBounds(new Rectangle(192, 263, 66, 16));
jLabel15.setText("備注");
jLabel15.setBounds(new Rectangle(413, 201, 66, 16));
jLabel16.setText("商品調(diào)入單明細列表");
jLabel16.setBounds(new Rectangle(28, 346, 165, 16));
jLabel17.setText("總價");
jLabel17.setBounds(new Rectangle(477, 346, 63, 16));
//設(shè)置編輯框的屬性
jTextField1.setBounds(new Rectangle(492, 45, 133, 22));
jTextField2.setBounds(new Rectangle(261, 76, 101, 22));
jTextField3.setBounds(new Rectangle(439, 76, 101, 22));
jTextField4.setEditable(false);
jTextField4.setBounds(new Rectangle(261, 107, 147, 22));
jTextField5.setEditable(false);
jTextField5.setBounds(new Rectangle(480, 107, 145, 22));
jTextField6.setEditable(false);
jTextField6.setBounds(new Rectangle(261, 138, 147, 22));
jTextField7.setEditable(false);
jTextField7.setBounds(new Rectangle(480, 138, 145, 22));
jTextField8.setEditable(false);
jTextField8.setBounds(new Rectangle(261, 170, 147, 22));
jTextField9.setEditable(false);
jTextField9.setBounds(new Rectangle(480, 170, 145, 22));
jTextField10.setEditable(false);
jTextField10.setBounds(new Rectangle(261, 201, 147, 22));
jTextField11.setEditable(false);
jTextField11.setBounds(new Rectangle(261, 232, 147, 22));
jTextField12.setEditable(false);
jTextField12.setBounds(new Rectangle(261, 263, 147, 22));
jTextField13.setEditable(false);
jTextField13.setBounds(new Rectangle(534, 346, 91, 22));
//設(shè)置按鈕的屬性
jButton1.setText("查詢");
jButton1.setActionCommand("search");
jButton1.setBounds(new Rectangle(546, 76, 79, 22));
jButton2.setText("電子簽名");
jButton2.setActionCommand("signStockLedger");
jButton2.setBounds(new Rectangle(28, 301, 135, 25));
jButton2.setToolTipText("");
jButton3.setText("撤消");
jButton3.setActionCommand("cancelStockLedger");
jButton3.setBounds(new Rectangle(182, 301, 135, 25));
jButton4.setText("恢復");
jButton4.setActionCommand("restoreStockLedger");
jButton4.setBounds(new Rectangle(336, 301, 135, 25));
jButton5.setText("退出");
jButton5.setActionCommand("exit");
jButton5.setBounds(new Rectangle(490, 301, 135, 25));
//設(shè)置滾動框的屬性
jScrollPane1.setBounds(new Rectangle(28, 45, 152, 240));
jScrollPane2.setBounds(new Rectangle(418, 229, 207, 56));
jScrollPane3.setBounds(new Rectangle(28, 379, 597, 157));
jScrollPane1.getViewport().add(jList1, null);
jScrollPane2.getViewport().add(jTextArea1, null);
jScrollPane3.getViewport().add(jTable1, null);
//為列表框加入選擇接收器
jList1.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
//當多種事件被激發(fā)的時候,不執(zhí)行接收器后面的代碼
if (e.getValueIsAdjusting()) return;
jList1_valueChanged(e);
}
});
//設(shè)置下拉列表框的屬性
jComboBox1.setBounds(new Rectangle(261, 45, 156, 22));
jComboBox1.addItem("根據(jù)單據(jù)編號查詢");
jComboBox1.addItem("根據(jù)商品調(diào)出員查詢");
jComboBox1.addItem("根據(jù)商品驗收員查詢");
jComboBox1.addItem("根據(jù)調(diào)出倉庫名查詢");
jComboBox1.addItem("根據(jù)調(diào)入倉庫名查詢");
jComboBox1.addItem("根據(jù)完成狀態(tài)查詢");
jComboBox1.addItem("根據(jù)調(diào)出日期查詢");
//為面板加入各個控件
contentPane.add(jLabel1, null);
contentPane.add(jLabel2, null);
contentPane.add(jLabel3, null);
contentPane.add(jLabel4, null);
contentPane.add(jLabel5, null);
contentPane.add(jLabel6, null);
contentPane.add(jLabel7, null);
contentPane.add(jLabel8, null);
contentPane.add(jLabel9, null);
contentPane.add(jLabel10, null);
contentPane.add(jLabel11, null);
contentPane.add(jLabel12, null);
contentPane.add(jLabel13, null);
contentPane.add(jLabel14, null);
contentPane.add(jLabel15, null);
contentPane.add(jLabel16, null);
contentPane.add(jLabel17, null);
contentPane.add(jScrollPane1, null);
contentPane.add(jScrollPane2, null);
contentPane.add(jScrollPane3, null);
contentPane.add(jButton1, null);
contentPane.add(jButton2, null);
contentPane.add(jButton3, null);
contentPane.add(jButton4, null);
contentPane.add(jButton5, null);
contentPane.add(jTextField1, null);
contentPane.add(jTextField2, null);
contentPane.add(jTextField3, null);
contentPane.add(jTextField4, null);
contentPane.add(jTextField5, null);
contentPane.add(jTextField6, null);
contentPane.add(jTextField7, null);
contentPane.add(jTextField8, null);
contentPane.add(jTextField9, null);
contentPane.add(jTextField10, null);
contentPane.add(jTextField11, null);
contentPane.add(jTextField12, null);
contentPane.add(jTextField13, null);
contentPane.add(jComboBox1, null);
//設(shè)置窗口類的字體和為按鈕加入動作接收器
setupFontAndListener();
}
//設(shè)置窗口類的字體和為按鈕加入動作接收器的方法
public void setupFontAndListener(){
Component[] components = contentPane.getComponents();
//創(chuàng)建臨時按鈕控件
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)容
stockLedgers = new String[0][13];
stockSubLedgers = new String[0][6];
stockSubLedgerObjects = new Object[0][7];
//清空列表框的內(nèi)容
listData1.clear();
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -