?? ledgermanageframe.java
字號:
package baseinforinterface;import java.awt.*;import java.awt.event.*;import javax.swing.*;import data.StockManagementData;import user.User;import maininterface.*;import method.*;public class LedgerManageFrame extends JFrame implements ActionListener { JPanel contentPane; //創建標簽控件 JLabel jLabel1 = new JLabel(); JLabel jLabel2 = new JLabel(); //創建滾動框 JScrollPane jScrollPane1 = new JScrollPane(); JScrollPane jScrollPane2 = new JScrollPane(); //創建列表框數據類和列表框控件 DefaultListModel listData1 = new DefaultListModel(); DefaultListModel listData2 = new DefaultListModel(); JList jList1 = new JList(listData1); JList jList2 = new JList(listData2); //創建按鈕控件 JButton jButton1 = new JButton(); JButton jButton2 = new JButton(); JButton jButton4 = new JButton(); JButton jButton5 = new JButton(); JButton jButton3 = new JButton(); //創建字體類 Font dialog13 = new java.awt.Font("Dialog", 0, 13); //聲明數據類 StockManagementData stockManagementData = null; //聲明用戶類 User user = null; //聲明主窗口類 StockManagementMainFrame stockManagementMainFrame = null; //聲明方法類 DataMethod dataMethod = new DataMethod(); public LedgerManageFrame(StockManagementMainFrame stockManagementMainFrame) { this.stockManagementMainFrame = stockManagementMainFrame; //取得主窗口的數據類 stockManagementData = stockManagementMainFrame.getStockManagementData(); //取得主窗口的用戶類 user = stockManagementMainFrame.getUser(); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(null); this.setSize(new Dimension(574, 465)); //設置標簽控件 jLabel1.setText("賬套列表:"); jLabel1.setBounds(new Rectangle(15, 27, 78, 16)); jLabel2.setText("信息列表:"); jLabel2.setBounds(new Rectangle(288, 27, 112, 16)); //設置滾動框控件 jScrollPane1.setBounds(new Rectangle(15, 57, 257, 300)); jScrollPane2.setBounds(new Rectangle(288, 57, 257, 300)); //設置按鈕控件 jButton1.setText("顯示賬套"); jButton1.setActionCommand("show"); jButton1.setBounds(new Rectangle(15, 387, 108, 25)); jButton2.setText("打開賬套"); jButton2.setActionCommand("open"); jButton2.setBounds(new Rectangle(128, 387, 108, 25)); jButton3.setText("創建賬套"); jButton3.setActionCommand("create"); jButton3.setBounds(new Rectangle(242, 387, 108, 25)); jButton4.setText("刪除賬套"); jButton4.setActionCommand("delete"); jButton4.setBounds(new Rectangle(355, 387, 108, 25)); jButton5.setText("退出"); jButton5.setActionCommand("exit"); jButton5.setBounds(new Rectangle(468, 387, 77, 25)); //設置滾動框控件 jScrollPane1.getViewport().add(jList1, null); jScrollPane2.getViewport().add(jList2, null); //為面板加入各個控件 contentPane.add(jLabel1, null); contentPane.add(jLabel2, null); contentPane.add(jScrollPane1, null); contentPane.add(jScrollPane2, null); contentPane.add(jButton1, null); contentPane.add(jButton2, null); contentPane.add(jButton3, null); contentPane.add(jButton4, null); contentPane.add(jButton5, null); //設置窗口類的字體和為按鈕加入動作接收器 setupFontAndListener(); } //設置窗口類的字體和為按鈕加入動作接收器的方法 public void setupFontAndListener(){ Component[] components = contentPane.getComponents(); //創建臨時按鈕控件 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); } } } protected void processWindowEvent(WindowEvent e) { if (e.getID() == WindowEvent.WINDOW_CLOSING) { exit(); } } //退出方法 public void exit(){ //隱藏窗口 this.setVisible(false); //清空列表框的內容 listData1.clear(); listData2.clear(); } //設置用戶的方法 public void setUser(User user) { this.user = user; } //顯示列表框賬套的方法 public void showLedgerDate(){ //清空列表框的數據 listData1.clear(); //取得賬套名字 String[] ledgerNames = stockManagementData.getLedgerNames(); for(int i = 0; i < ledgerNames.length; i++){ listData1.addElement(ledgerNames[i]); } } //單擊事件 public void actionPerformed(ActionEvent e) { //清空信息列表框的內容 listData2.clear(); //取得用戶的權限參數 int baseInforFunction = user.getBaseInforFunction(); //取得按鈕的動作字符串 String actionCommand = e.getActionCommand().trim(); if(actionCommand.equals("create") | actionCommand.equals("delete")){ if((baseInforFunction & 4) != 4){ listData2.addElement("該用戶不具有創建和刪除賬套的權限."); return; } } //單擊按鈕的處理代碼 if (actionCommand.equals("show")) { showLedgerDate(); }else if(actionCommand.equals("open")){ if(jList1.getSelectedIndex() == -1){ JOptionPane.showMessageDialog(null, "請選擇賬套."); return; } String ledgerDate = (String)listData1.get(jList1.getSelectedIndex()); //設置主窗口的賬套變量 stockManagementMainFrame.setLedgerDate(ledgerDate); listData2.addElement("已成功打開" + ledgerDate + "賬套."); //更改主窗口的標題 stockManagementMainFrame.setTitle("進銷存管理信息系統主窗口" + ":登陸用戶(" + user.getUserName() + "):帳套(" + ledgerDate + ")"); //將用戶操作寫入日志數據表 stockManagementData.createUserLog("賬套管理窗口", "打開賬套" + ledgerDate, user.getUserName()); }else if(actionCommand.equals("create")){ String ledgerDate = JOptionPane.showInputDialog(null, "您好,請輸入賬套日期,格式是yyyymm(200405).", "賬套日期輸入框", JOptionPane.INFORMATION_MESSAGE); if(ledgerDate == null){ return; } //檢查賬套日期是否合法 int result = dataMethod.checkLedgerDate(ledgerDate); if(result == 0){ JOptionPane.showMessageDialog(null, "您輸入的賬套日期不合法,合法格式是yyyymm(200405)."); return; } //根據賬套日期創建賬套 result = stockManagementData.createLedger(ledgerDate); if(result == 1){ listData2.addElement("已成功創建" + ledgerDate + "賬套."); showLedgerDate(); }else{ listData2.addElement("創建" + ledgerDate + "賬套不成功,請檢查該賬套的日期."); } //將用戶操作寫入日志數據表 stockManagementData.createUserLog("賬套管理窗口", "創建賬套" + ledgerDate, user.getUserName()); }else if(actionCommand.equals("delete")){ if(jList1.getSelectedIndex() == -1){ JOptionPane.showMessageDialog(null, "請選擇賬套."); return; } //取得賬套日期 String ledgerDate = (String)listData1.get(jList1.getSelectedIndex()); //根據賬套日期刪除賬套 int result = stockManagementData.deleteLedger(ledgerDate); if(result == 1){ listData2.addElement("已成功刪除" + ledgerDate + "賬套."); showLedgerDate(); }else{ listData2.addElement("刪除" + ledgerDate + "賬套不成功,該賬套必須是最后一個賬套."); } //將用戶操作寫入日志數據表 stockManagementData.createUserLog("賬套管理窗口", "刪除賬套" + ledgerDate, user.getUserName()); }else if(actionCommand.equals("exit")){ exit(); } }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -