![JAVA記事本的設計與實現(xiàn)_第1頁](http://file4.renrendoc.com/view/21fdc352edbc3f42aa86014a765925b3/21fdc352edbc3f42aa86014a765925b31.gif)
![JAVA記事本的設計與實現(xiàn)_第2頁](http://file4.renrendoc.com/view/21fdc352edbc3f42aa86014a765925b3/21fdc352edbc3f42aa86014a765925b32.gif)
![JAVA記事本的設計與實現(xiàn)_第3頁](http://file4.renrendoc.com/view/21fdc352edbc3f42aa86014a765925b3/21fdc352edbc3f42aa86014a765925b33.gif)
![JAVA記事本的設計與實現(xiàn)_第4頁](http://file4.renrendoc.com/view/21fdc352edbc3f42aa86014a765925b3/21fdc352edbc3f42aa86014a765925b34.gif)
![JAVA記事本的設計與實現(xiàn)_第5頁](http://file4.renrendoc.com/view/21fdc352edbc3f42aa86014a765925b3/21fdc352edbc3f42aa86014a765925b35.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
/《面對對象程序設計》課程設計報告題目:《日記本的設計和實現(xiàn)》課程設計學院:信息工程姓名:xxxx學號:1134120131專業(yè):軟件工程班級:軟工1101班指導老師:xxxx二0一二年十二月十四日目錄1. 引言 32. 設計目的和任務 43. 設計方案 53.1 總體設計 53.2 設計要求 53.3 系統(tǒng)的主要功能 53.4 開發(fā)環(huán)境 53.5 系統(tǒng)的功能模塊劃分和系統(tǒng)流程圖 6 系統(tǒng)的功能模塊劃分 6 萬年歷模塊流程圖 7 日記本模塊流程圖 73.6 各個類說明 7 主類NoteBook 7 記事本Note類 8 左側面板LeftPane類 9 月份顯示MonthPane類 9 年月顯示YearMonth類 9 背景音樂Music類 10 日期獲得DateTime類 10 右側記事本顯示NotePane類 11 記事本彈出菜單NotePopupMenu類 114. 各種功能截圖 125. 課程設計總結 156. 個人心得體會 167. 附錄 17摘要本課程設計通過代碼實現(xiàn)將理論學問和詳細實踐相結合,鞏固提高了對JAVA的相關方法和概念的理解,使學生的發(fā)散思維及動手實力進一步加強,加強對計算機及軟件工程的進一步了解。在這個課程設計中,做成了一個有日歷標記的記事本軟件,日記本面板由日歷、記事本、圖片、時鐘四部分組成。日歷部分可以選擇不同的年份、月份、日期和星期;記事本模塊可以實現(xiàn)查看,保存,刪除日志等操作;并且每一步操作都有相應提示;圖片模塊可以顯示預設的圖片;時鐘模塊可以用時鐘來顯示當前時間。本軟件是一個好用性較強,簡潔,美觀,便利的功能軟件。關鍵字:記事本;日歷;1引言Java是一種純面對對象的、網(wǎng)絡編程首選的語言。Java技術作為軟件開的一種革命性技術,已被列為當今世界信息技術的主流之一。為了適應時代潮流,我們應當加強對Java的學習,更好的駕馭這門課程。為此Java課程設計確定以“寫字留痕”為設題材,借此鞏固加深我們對Java的了解。本次課程設計的實例雖然比較簡潔,程序設計也不是很困難,但在此程序的設計過程也是一個學習過程,更是對困難程序的一個學習過程,還能培育我們的數(shù)抽象實力。因此,我們覺得這次課程設計是特別有意義的,能為我們今后學習面對過程的程序設計作一些鋪墊。2設計目的和任務本課程設計所要求達到的目的和任務:通過Java程序設計的一些重要理論基礎來實現(xiàn)“日記本”的“日歷”和“記事本”的雙重功能。并通過此次課程設計的訓練,使學生鞏固和加深對Java這門課程的理解,通過利用所學到的計算科學的理論學問,提高解決實際問題的實力,增加運算、編程和運用技術資料的技能,通過實際問題的分析設計、編程和調(diào)試,駕馭應用軟件的分析方法和工程設計方法,能正確闡述設計和試驗結果。通過這次課程設計,培育實事求是、仔細、嚴謹?shù)目茖W看法和刻苦鉆研不斷創(chuàng)新的精神,逐步建立正確的全局觀念。3設計方案總體設計(1)問題定義:創(chuàng)建日記本,實現(xiàn)對某日期的事情進行記錄這主要功能,并能顯示設置的圖片,增加美觀。(2)問題分析:通過對“日記本的設計和實現(xiàn)”這一題材的分析,我須要四個類來實現(xiàn)其“日歷”和“記事本”這兩大功能。通過主類CalendWindow創(chuàng)建動寫字留痕軟件的主窗口,該類含有main方法,程序從該類起先執(zhí)行。再用余下CalendarPad、CalendarMessage、NotePad類來顯示并變更日期和實現(xiàn)記事本的功能。而CalendarImage類用來顯示圖片。(3)探討意義:通過本次課程設計,我們駕馭了Java語言的基本運用,提高了理論結合實際的實力。設計要求(1)日記本運用Java語言開發(fā)設計。課程的基本功能包括萬年歷、記事本和協(xié)助功能三個部分。(2)萬年歷部分由微調(diào)器確定年月,由一組文本框顯示日歷。年月可選擇數(shù)據(jù)符合邏輯,默認為當前日期。(3)月歷顯示應當符合查看習慣,如星期六和星期日分別用不同顏色表示,當日可用特殊的字號和顏色(4)記事本區(qū),記事本內(nèi)容按年月日記錄且保存。(5)微調(diào)器應當進行事務設置,以及即時地顯示該年月的月歷;日期文本框可監(jiān)聽鼠標事務,當單擊任何一個日期時,若該日有記事內(nèi)容,則在日記本中顯示該日期的記錄文字;若該日無記錄,記事區(qū)保持空白。(6)日記本應當是開放的,內(nèi)容可按日期增減,保存應即時,刪除需謹慎刪除記錄時,應進行對話框詢問確定。(7)協(xié)助功能包含了日記的導入導出?!皩搿笨梢詫⑵渌沼浳募牒喜⒌疆斍啊皩懽至艉邸钡娜沼洷局?;“導出”可將“寫字留痕”的全部記錄內(nèi)容按日期為序?qū)С龅揭粋€文本文件中。為平安起見導出時需加以平安確認,要求輸入正確設定的密碼后才能導出。(8)系統(tǒng)界面外觀和布局,可特性化設計,總體原則是“界面簡潔,操作便捷”。系統(tǒng)的主要功能(1)可以對個人日志進行保存、刪除、導入和導出;(2)可以便利地在任何日期記載個人日志以及查看某個日期記載的日志;(3)可以顯示當前日期。開發(fā)環(huán)境WindowsXP;jdk1.6.0;eclipse編輯器。系統(tǒng)的功能模塊劃分和系統(tǒng)流程圖系統(tǒng)的功能模塊劃分本日歷記事本共有9個java源文件。NoteBook.java該java文件生成的類負責創(chuàng)建本日歷記事本程序主窗口。該類含有main方法,程序從該類起先執(zhí)行。Note.java該文件負責創(chuàng)建日記文本leftPane.java該文件負責創(chuàng)建創(chuàng)建左側面板。NotePade.java該文件負責創(chuàng)建右側面板。NotePopupMenu.java該文件負責在文本框上彈出快捷菜單DateTime.java該文件獲得系統(tǒng)當前的日期,包括年月日YearMonth.java該文件負責創(chuàng)建管理年份和月份的對象。MonthPane.java該文件負責生成日歷創(chuàng)建日歷Music.java該文件負責創(chuàng)添加背景音樂NoteBookNoteBookleftPaneMusicMonthPaneYearMonthPaneDateTimeNotePaneNoteNotePopupMenuPane萬年歷模塊流程圖 萬年歷 選擇微調(diào)按鈕 選擇日期 正確輸入 錯誤輸入 變更當天日期 當天是否有日記? 有 無 更改記事本顯示 日記本模塊流程圖 顯示日記本 保存 刪除 導入 導出以當前日期為值,假如當前TreeMap 打開打開文件對打開保存文件當前內(nèi)容為值保有今日的記錄就 話框,假如選擇對話框,保存存到TreeMap中刪除它 了文件就導入 到所選路徑下各個類說明主類NoteBook1.成員變量成員變量描述變量類型名稱年、月、日intyear,month,day日歷對象Calendarc左側日歷面板LeftPanenotepad記事本面板NotePane負責變更月圖標Image負責主窗口標題欄圖標的顯示2.方法名稱功能備注NoteBook創(chuàng)建窗口主程序構造方法bookInit變量初始化addEvent年月微調(diào)按鈕事務noteBookRefresh刷新ymListener年月變更事務監(jiān)聽main程序起先運行記事本Note類1、成員變量描述變量類型名稱文本輸入?yún)^(qū)JTextAreatext保存、刪除日志的按鈕Button保存日志、刪除日志保存日志的散列表Hashtabletable保存散列表的文件Filefile記錄日志的人年、月、日intyear,month,day2、方法名稱功能備注NotaPad創(chuàng)建記事本對象構造方法setYear設置年份getYear獲得年份setMonth設置月份getMonth獲得月份setDay設置日期getDay獲得日期獲得日志內(nèi)容獲得日志內(nèi)容保存日志保存日志刪除日志刪除日志actionPerformed處理ActionEvent事務接口方法左側面板LeftPane類1.成員變量描述變量類型名稱2.方法名稱功能備注月份顯示MonthPane類1.成員變量描述變量類型名稱2.方法名稱功能備注年月顯示YearMonth類1.成員變量描述變量類型名稱2.方法名稱功能備注背景音樂Music類1.成員變量描述變量類型名稱2.方法名稱功能備注日期獲得DateTime類1.成員變量描述變量類型名稱2.方法名稱功能備注右側記事本顯示NotePane類1.成員變量描述變量類型名稱2.方法名稱功能備注記事本彈出菜單NotePopupMenu類1.成員變量描述變量類型名稱2.方法名稱功能備注4各種功能截圖主界面保存日記刪除日志導入日志導出日志導出前要輸入密碼密碼不正確不能導出密碼正確可以指定文件名導出5課程設計總結這次課程設計的主要目的是學會Java程序開發(fā)的環(huán)境搭建和配置,并在實際運用中學習和駕馭Java程序開發(fā)的全過程,以及進一步熟識駕馭Java程序設計語言的基礎內(nèi)容,提高Java編程技術以及分析解決問題的綜合實力。通過這次課程設計,我基本駕馭了以上要求。由于專業(yè)學問有限,以及動手實力的欠缺,所以開發(fā)的系統(tǒng)不是很完善,有一些功能未實現(xiàn),但是萬年歷記事本的基本功能均已實現(xiàn)。這個課程設計使我鞏固了Java語言的學問,對于Eclipse開發(fā)工具也有了肯定的了解。由于是第一次進行Java語言開發(fā),所以不足之處不行避開。本系統(tǒng)的統(tǒng)計功能還不夠強大,背景音樂,還有日歷的陰歷,節(jié)氣都沒實現(xiàn),將在以后的時間,接著完善。6個人心得體會Java課程設計很快就結束了,雖然每天都熬到深夜,但卻讓我過得很充溢,獲益非淺。通過這次課程設計,我懂得了只有堅持才會有成就?;仡櫰鸫苏n程設計,至今我仍感慨頗多,從理論到實踐,在這段日子里,可以說得是苦多于甜,但是可以學到許多許多的東西,同時不僅可以鞏固了以前所學過的學問,而且學到了許多在書本上所沒有學到過的學問。通過這次課程設計使我懂得了理論和實際相結合是很重要的,只有理論學問是遠遠不夠的,只有把所學的理論學問和實踐相結合起來,從理論中得出結論,才能真正提高自己的實際動手實力和獨立思索的實力。在設計的過程中遇到問題,可以說得是困難重重,但可喜的是最終都得到了解決。7附錄AYearMonth.java源程序代碼importjava.awt.*;importjavax.swing.*;publicclassYearMonthextendsJPanel{ privateintyear; privateintmonth; privateJLabelyl; privateJLabelml; JSpinnershowYear; JSpinnershowMonth;SpinnerNumberModelyearModel,monthModel; YearMonth(){ ymInit(); add(yl);add(showYear); add(ml);add(showMonth); } voidymInit(){ yl=newJLabel("年"); ml=newJLabel("月"); year=DateTime.getYear(); month=DateTime.getMonth(); yearModel=newSpinnerNumberModel(year,0,10000,1); showYear=newJSpinner(yearModel); showYear.setEditor(newJSpinner.NumberEditor(showYear,"0000")); showYear.setPreferredSize(newDimension(60,30));//變更尺寸 yl.setFont(newFont("TimesRomn",Font.BOLD,16)); monthModel=newSpinnerNumberModel(month,0,13,1) ; showMonth=newJSpinner(monthModel); showMonth.setPreferredSize(newDimension(60,30));//變更尺寸 ml.setFont(newFont("TimesRomn",Font.BOLD,16)); }}BNote.java源程序代碼CDateTime.java源程序代碼DLeftPane.java源程序代碼EMonthPane.java源程序代碼FMusic.java源程序代碼GNote.java源程序代碼HNoteBook.java源程序代碼INotePane.java源程序代碼JNotePopupMenu.java源程序代碼《日記本的設計和實現(xiàn)》源代碼:importjava.awt.*;importjava.awt.event.*;importjava.io.*;importjava.util.*;importjavax.swing.*;importjavax.swing.event.*;classNoteBookextendsJFrameimplementsChangeListener,MouseListener{ intyear,month,day; Calendarc; intfirst,days; LeftPanelp; NotePanenp;publicNoteBook(){ super("日記本的設計和實現(xiàn)"); this.setDefaultCloseOperation(3); Containercon=getContentPane(); bookInit(); addEvent(); add(lp,"West");add(np);this.pack();this.setResizable(true);this.setVisible(true);} voidbookInit(){ lp=newLeftPane(); np=newNotePane(); year=DateTime.getYear(); month=DateTime.getMonth(); day=DateTime.getDay();}voidaddEvent(){ lp.ym.showMonth.addChangeListener(this); lp.ym.showYear.addChangeListener(this); for(inti=0;i<lp.mp.showDay.length;i++){ lp.mp.showDay[i].addMouseListener(this); }}publicvoidstateChanged(ChangeEvente){ month=Integer.parseInt(lp.ym.showMonth.getValue().toString()); year=Integer.parseInt(lp.ym.showYear.getValue().toString()); noteBookRefresh();}voidnoteBookRefresh(){ np.refreshContent(year,month,day); np.setDateInfo(year,month,day); lp.mp.arrangeNum(year,month,day);}publicvoidmouseClicked(MouseEvente){ JTextFieldsource=(JTextField)e.getSource(); try{ day=Integer.parseInt(source.getText()); noteBookRefresh(); } catch(Exceptionee){}}publicvoidmousePressed(MouseEvente){}publicvoidmouseReleased(MouseEvente){}publicvoidmouseEntered(MouseEvente){}publicvoidmouseExited(MouseEvente){} classYearMonthextendsJPanel{ privateintyear; privateintmonth; privateJLabelyl; privateJLabelml; JSpinnershowYear; JSpinnershowMonth; YearMonth(){ ymInit(); add(yl);add(showYear); add(ml);add(showMonth); } voidymInit(){ yl=newJLabel("年"); ml=newJLabel("月"); year=DateTime.getYear(); month=DateTime.getMonth(); showYear=newJSpinner(newSpinnerNumberModel(year,0,10000,1)); showYear.setEditor(newJSpinner.NumberEditor(showYear,"0000")); showYear.setPreferredSize(newDimension(60,30)); yl.setFont(newFont("TimesRomn",Font.BOLD,16)); showMonth=newJSpinner(newSpinnerNumberModel(month,1,12,1)); showYear.setPreferredSize(newDimension(60,30)); ml.setFont(newFont("TimesRomn",Font.BOLD,16)); } } staticclassDateTime{ staticCalendartoday=Calendar.getInstance(); staticintgetYear(){ returntoday.get(today.YEAR); } staticintgetMonth(){ returntoday.get(today.MONTH)+1; } staticintgetDay(){ returntoday.get(today.DAY_OF_MONTH); } staticintgetMonDay(intyear,intmonth){ if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){ return31; } elseif(month==4||month==6||month==9||month==11){ return30; } if((year%4==0&&year%100!=0)||year%400==0){ return29; } else{ return28; } } } classLeftPaneextendsJPanel{ YearMonthym; MonthPanemp; JLabeltupian; JPanellp; JSplitPanesplit; LeftPane(){ super(newBorderLayout()); ym=newYearMonth(); mp=newMonthPane(); lp=newJPanel(newBorderLayout()); lp.add(ym,"South"); lp.add(mp); split=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT); this.add(lp); this.add(split,"East"); } } classMonthPaneextendsJPanel{ JTextFieldshowDay[]; intfirst,days; YearMonthym; String[]week; JLabel[]title; intyear,month,day; MonthPane(){ super(newGridLayout(7,7,3,3)); mcInit(); for(inti=0;i<7;i++) add(title[i]); for(inti=0;i<42;i++) add(showDay[i]); arrangeNum(year,month,day); } voidmcInit(){ year=DateTime.getYear(); month=DateTime.getMonth(); day=DateTime.getDay(); Stringweek[]={"日","一","二","三","四","五","六"}; title=newJLabel[7]; for(intj=0;j<7;j++){ title[j]=newJLabel(); title[j].setText(week[j]); title[j].setBorder(BorderFactory.createEmptyBorder()); title[j].setFont(newFont("",1,18)); } title[0].setForeground(Color.red); title[6].setForeground(Color.blue); showDay=newJTextField[42]; for(inti=0;i<42;i++){ showDay[i]=newJTextField(); showDay[i].setFont(newFont("",0,14)); showDay[i].setEditable(false); } } publicvoidarrangeNum(intyear,intmonth,intday){ days=DateTime.getMonDay(year,month); Calendarc=Calendar.getInstance(); c.set(year,month-1,1); first=c.get(Calendar.DAY_OF_WEEK)-1; if(first!=0){ for(inti=0;i<first;i++){ showDay[i].setText(""); } } for(inti=first,n=1;i<first+days;i++,n++){ showDay[i].setText(""+n); intr=i+1; if(n==day){ if(r%7==0||(r+6)%7==0){ showDay[i].setForeground(Color.blue); showDay[i].setFont(newFont("TimesRoman",Font.BOLD,20)); } else{ showDay[i].setForeground(Color.green); showDay[i].setFont(newFont("TimesRoman",Font.BOLD,20)); } } else{ showDay[i].setFont(newFont("TimesRoman",Font.BOLD,12)); showDay[i].setForeground(Color.black); } if(i%7==0){ showDay[i].setForeground(Color.red); } if(i%7==6){ showDay[i].setForeground(Color.blue); } } if(first+days<41){ for(inti=first+days;i<42;i++){ showDay[i].setText(""); } } } } classNotePaneextendsJPanelimplementsActionListener,MouseListener{ privateintyear,month,day; privateJTextAreanote; privateJButtonsave,delete,input,export; privateHashtabletable; privateJLabeldateInfo; privateFilefile; privateJPanelbuttonPane; privateJMenuItemcopy; privateJMenuItemcut; privateJMenuItempaste; privateJPopupMenuf; JPanelp=newJPanel(); NotePane(){ super(newBorderLayout()); noteInit(); buttonInit(); addEvent(); p.add(dateInfo); add(p,"North"); add(newJScrollPane(note)); add(buttonPane,"South"); refreshContent(year,month,day); } privatevoidnoteInit(){ year=DateTime.getYear(); month=DateTime.getMonth(); day=DateTime.getDay(); dateInfo=newJLabel(year+"年"+month+"月"+day+"日",JLabel.CENTER); dateInfo.setFont(newFont("TimesRomn",Font.BOLD,16)); dateInfo.setForeground(Color.BLUE); table=newHashtable(); file=newFile("Note.txt"); initFile(); note=newJTextArea(); note.setFont(newFont("",0,14)); note.setLineWrap(true); } privatevoidbuttonInit(){ f=newJPopupMenu(); cut=newJMenuItem("剪切"); copy=newJMenuItem("復制"); paste=newJMenuItem("粘貼"); save=newJButton("保存日記"); delete=newJButton("刪除日記"); input=newJButton("導入日記"); export=newJButton("導出日記"); buttonPane=newJPanel(newFlowLayout()); buttonPane.add(save); buttonPane.add(delete); buttonPane.add(input); buttonPane.add(export); f.add(cut); f.add(copy); f.add(paste); } privatevoidaddEvent(){ save.addActionListener(this); delete.addActionListener(this); input.addActionListener(this); export.addActionListener(this); cut.addActionListener(this); copy.addActionListener(this); paste.addActionListener(this); note.addMouseListener(this); } privatevoidinitFile(){ if(!file.exists()){ try{ FileOutputStreamout=newFileOutputStream(file); ObjectOutputStreamobjectOut=newObjectOutputStream(out); objectOut.writeObject(table); objectOut.close(); out.close(); } catch(IOExceptione){} } } publicvoidactionPerformed(ActionEvente){ if(e.getSource()==save) save(year,month,day); elseif(e.getSource()==delete) delete(year,month,day); elseif(e.getSource()==input) input(); elseif(e.getSource()==export) export(); elseif(e.getSource()==cut) note.cut(); elseif(e.getSource()==copy) note.copy(); elseif(e.getSource()==paste) note.paste(); } publicvoidsetDateInfo(int_y,int_m,int_d){ this.year=_y; this.month=_m; this.day=_d; dateInfo.setText(_y+"年"+_m+"月"+_d+"日"); } publicStringgetDateKey(){ Strings=""+year; if(month<10)s+="/0"+month; elses+="/"+month; if(day<10)s+="/0"+day; elses+="/"+day; returns; } publicvoidrefreshContent(intyear,intmonth,intday){ Stringkey=this.getDateKey(); try{ FileInputStreamin1=newFileInputStream(file); ObjectInputStreamin2=newObjectInputStream(in1); table=(Hashtable)in2.readObject(); in1.close(); in2.close(); } catch(Exceptionee){} if(table.containsKey(key)) note.setText(table.get(key)+""); else note.setText(""); } publicvoidsave(intyear,intmonth,intday){ StringlogContent=note.getText(); Stringkey=this.getDateKey(); try{ table.put(key,logContent); FileOutputStreamout=newFileOutputStream(file); ObjectOutputStreamobjectOut=newObjectOutputStream(out); objectOut.writeObject(table); objectOut.close(); out.close(); } catch(Exceptionee){} JOptionPane.showMessageDialog(null,key+"當天的日記已勝利保存!"); } publicvoiddelete(intyear,intmonth,intday){ Stringkey=this.getDateKey(); if(table.containsKey(key)){ JOptionPanejo=newJOptionPane(); intx=jo.showConfirmDialog(null,"要刪除"+year+"年"+month+"月"+day+"日"+"的記錄嗎?","!!!",JOptionPane.YES_NO_OPTION); if(x==jo.YES_OPTION){ try{ FileInputStreamin1=newFileInputStream(file); ObjectInput
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新型起重機專利許可及銷售代理合同
- 合作房地產(chǎn)開發(fā)協(xié)議(28篇)
- 師傅和徒弟作文
- 2025年兼職工勞務合同格式
- 2025年企業(yè)合作投資與合資合同
- 2025年信用卡預借現(xiàn)金協(xié)議書范本
- 2025年中尺度自動氣象站系統(tǒng)項目立項申請報告
- 2025年區(qū)域飲品代理合作協(xié)議范本
- 2025年式多功能打印機銷售合同規(guī)范
- 2025年企業(yè)電力安全使用標準協(xié)議書
- 超前小導管施工作業(yè)指導書
- 中國律師學完整版課件全套教學ppt教程
- 守紀律講衛(wèi)生懂禮儀
- 腦控受害者解救方法
- 滁州市城市規(guī)劃管理技術規(guī)定
- 保理業(yè)務解決方案
- 圖紙會審答疑
- PCCP安裝與水壓試驗
- 景觀生態(tài)學教學大綱(共10頁)
- 招標工作手冊
- 鍛件的結構設計與工藝性分析
評論
0/150
提交評論