freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java的小型企業(yè)進銷存管理系統(tǒng)畢業(yè)畢業(yè)論文(編輯修改稿)

2024-07-19 16:00 本頁面
 

【文章內(nèi)容簡介】 idvarchar50主鍵流水號sellIDvarchar50銷售編號spidvarchar50產(chǎn)品編號djmoney8銷售單價slfloat8銷售數(shù)量(7) 客戶信息表客戶信息表的名稱為tb_khinfo,主要用于存儲客戶的信息。 客戶信息表字段名稱數(shù)據(jù)類型長度是否主鍵說明idvarchar50主鍵客戶編號khnamevarchar50客戶名稱jianvarchar50客戶簡稱addressvarchar100客戶地址bianmavarchar50郵政編碼telvarchar50客戶電話faxvarchar50客戶傳真lianvarchar50聯(lián)系人ltelvarchar50聯(lián)系人電話mailvarchar50Email地址xinhangvarchar60開戶行haovarchar60賬號 系統(tǒng)功能模塊設(shè)計 公共類設(shè)計公共類也是代碼重用的一種形式,他將各個功能模塊經(jīng)常調(diào)用的方法提取到共用的Java類中,例如訪問數(shù)據(jù)庫的Dao類容納了所有訪問數(shù)據(jù)庫的方法,并同時管理者數(shù)據(jù)庫的連接和關(guān)閉。這樣不但實現(xiàn)了項目代碼的重用,還提高了程序的性能和代碼可讀性。(1) Item公共類Item公共類是對數(shù)據(jù)表最常用的id和name屬性的封裝,用于Swing列表、表格、下拉列表框等組件的復制,該類重寫了toString()方法,在該類方法中只輸出那么屬性,所以Item類在Swing組件現(xiàn)實文本時只包含名稱信息,不會連帶著id屬性。但是在獲取組件的內(nèi)容時,獲取的是Item類的對象,從該對象中可以很容易的獲取id屬性,然后通過該屬性到數(shù)據(jù)庫中獲取唯一的數(shù)據(jù)。(2) 數(shù)據(jù)模型公共類數(shù)據(jù)模型公共類,它對應著數(shù)據(jù)庫中不同的數(shù)據(jù)表,這些模型將被訪問數(shù)據(jù)庫的Dao類和程序中每個模塊甚至各個組件所使用。和Item公共類的使用方法類似,數(shù)據(jù)模型也是對數(shù)據(jù)表中所有字段(屬性)的封裝,但是數(shù)據(jù)類型是純粹的模型,它不但需要重寫父類的toString()方法,還要重寫hashCode()方法和equals()方法(這兩個方法分別用于生成模型對象的哈希代碼和判斷模型對象是否相同)。模型類主要用于存儲數(shù)據(jù),并通過想要的getXXX()方法和setXXX()實現(xiàn)不同屬性的訪問原則。(3) Dao類Dao 的全稱是Data Access Object,即數(shù)據(jù)庫訪問對象。本項目中應用該名稱數(shù)據(jù)庫訪問類的名稱,在該類中實現(xiàn)了數(shù)據(jù)庫的驅(qū)動、連接、關(guān)閉和多個操作數(shù)據(jù)庫的方法,這些誒方法包括不同數(shù)據(jù)表的操作方法。其關(guān)鍵代碼如下:package 。import .*。import 。import .*。import 。import 。import .*。public class Dao { protected static String dbClassName = 。 protected static String dbUrl = jdbc:jtds:sqlserver://localhost:1433/ + db_database28。SelectMethod=Cursor。 protected static String dbUser = sa。 protected static String dbPwd = 。 protected static String second = null。 public static Connection conn = null。 static { try { if (conn == null) { (dbClassName).newInstance()。 conn = (dbUrl, dbUser, dbPwd)。 } } catch (ClassNotFoundException e) { ()。 (null, 請將SQL Server 2000的JDBC驅(qū)動包復制到lib文件夾中。)。 (1)。 } catch (Exception e) { ()。 } } 系統(tǒng)登錄模塊設(shè)計系統(tǒng)登錄也是項目必須開發(fā)的模塊,主要由兩部分組成,一部分是登錄窗體,另一部分是窗體中帶背景圖片的內(nèi)容面板。它是系統(tǒng)的安全門,只有提供正確的用戶名和登錄口令之后,才能進入企業(yè)進銷存管理系統(tǒng)進行進銷存管理工作。 系統(tǒng)登錄界面(1) 創(chuàng)建內(nèi)容面板所有組件都要布置在窗體的內(nèi)容面板上,而登陸模塊的內(nèi)容使用了背景圖片來美化窗體界面,這就需要繼承Swing的Jpanel類編寫自己的面板類,然后將面板類作為窗體的內(nèi)容面板。(2) 創(chuàng)建登錄窗體創(chuàng)建LoginDialog類,該類繼承Jframe類,成為一個窗體。設(shè)置窗體的標題為“系統(tǒng)登錄”,設(shè)置內(nèi)容面板為LoginPanel類的對象。該窗體用于不知各種組件,來實現(xiàn)系統(tǒng)登錄的界面。(3) “密碼”文本框的回車事件在系統(tǒng)登錄窗體的“密碼”文本框中添加了按鍵事件監(jiān)聽器,它在獲取到“密碼”文本框輸入的回車符時將執(zhí)行登錄事件,也就是說在“密碼”文本框輸入密碼后,按Enter鍵將執(zhí)行與單機“登錄”按鈕相同的業(yè)務邏輯。(4) “登錄”按鈕的事件“登錄”按鈕用于執(zhí)行用戶名和密碼的驗證工作,如果驗證用戶名和密碼有效,則啟動系統(tǒng),否則禁止進入系統(tǒng)。在“登錄”按鈕的動作事件監(jiān)聽器種,首先獲取用戶輸入的用戶名與密碼信息,然后調(diào)用Dao類的checkLogin()方法,如果該方法返回true則登陸成功,否則禁止用戶登錄,并提示輸入的用戶名與密碼無法登錄系統(tǒng)。 系統(tǒng)主窗體設(shè)計主窗體是人際交互的本體,用戶通過主窗體中提供的各種菜單、表格、文本框、子窗體等組件進行管理操作。本系統(tǒng)主界面采用的是MID(即“多文檔界面”),類似于Word的應用程序,可以同時打開多個子窗體,并對打開的功能窗體進行各種操作。 系統(tǒng)主窗體界面(1) 設(shè)計菜單欄本系統(tǒng)的菜單欄是由MenuBar類實現(xiàn)的,該類是一個自定義菜單欄類,他繼承JmenuBar類成為Swing菜單欄組件。 菜單欄界面(2) 設(shè)計工具欄工具欄用于放置常用命令按鈕,如進貨單、銷售單、庫存盤點等。像本系統(tǒng)中添加工具欄的方法和添加菜單欄的方法類似,需要繼承Swing的Jtool組件編寫自己的工具欄。工具欄界面如圖 。 工具欄界面(3) 設(shè)計狀態(tài)欄本系統(tǒng)的狀態(tài)欄顯示了當前選擇的功能窗體、登錄用戶名、當前日期和本系統(tǒng)所屬公司,即版權(quán)所有者等信息。該狀態(tài)欄是由JPanel面板、Jlabel標簽和Jseparator分割條組件組成。 進貨單模塊設(shè)計進貨單模塊負責添加企業(yè)的進貨信息,他根據(jù)進貨人員提供的單據(jù),將采購商品的名稱、編號、產(chǎn)地、規(guī)格、單價和數(shù)量等信息記錄到數(shù)據(jù)的庫存表中。 進貨單窗體界面(1) 設(shè)計進貨單窗體在Eclipse中選擇“文件”/“新建”/Visual Class命令,在彈出的New Java Visual Class對話框中創(chuàng)建Internal Frame內(nèi)部窗體類,命名為JinHuoDan_Iframe。(2) 添加進貨商品在進貨單船體點擊“添加”按鈕,會在表格中添加一個空行可以再該空行的第一個字段選擇商品名稱,其他的字段信息會根據(jù)選擇的商品自動填充。這就需要為“添加”按鈕編寫ActionListener動作監(jiān)聽器,在該監(jiān)聽器中實現(xiàn)相應的操作?!疤砑印卑粹o的初始化由getTiButton()方法完成,該方法在初始化“添加”按鈕時,為按鈕添加了動作事件監(jiān)聽器。其關(guān)鍵代碼如下: private JButton getTjButton() { if (tjButton == null) { tjButton = new JButton()。 (添加)。 (new ActionListener() { public void actionPerformed(ActionEvent e) { // 初始化票號 date = new (())。 (())。 String maxId = (date)。 (maxId)。 // 結(jié)束表格中沒有編寫的單元 stopTableCellEditing()。 // 如果表格中不包含空行,就添加新行 for (int i = 0。 i = ()1。 i++) { if ((i, 0) == null) return。 } DefaultTableModel model = (DefaultTableModel) table .getModel()。 (new Vector())。 } })。 } return tjButton。 }(3) 進貨統(tǒng)計在bottomPanel面板中布置了多個文本框,用于統(tǒng)計品種數(shù)量、貨品總數(shù)、合計金額等商品信息,在添加貨品之后,要實現(xiàn)商品信息的自動統(tǒng)計,既要在table表格的PropertyChangeListener事件監(jiān)聽器編寫統(tǒng)計代碼。這里將統(tǒng)計代碼編寫在ComputeInfo()方法,然后在事件監(jiān)聽器中調(diào)用。當table表格發(fā)生屬性改變事件是,事件監(jiān)聽器首先會檢測發(fā)生的事件類型,也就是判斷發(fā)生了那種更改屬性的事件,如果事件類型是tableCellEditor則說明術(shù)語表格編輯事件,這時應該針對表
點擊復制文檔內(nèi)容
教學教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1