版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
產(chǎn)品庫存管理系統(tǒng)剖析bbb***(456)學(xué)習(xí)情境描述設(shè)計實現(xiàn)產(chǎn)品庫存管理系統(tǒng)的用戶登陸模塊及主界面。aaa***(123)登錄界面主界面所需知識容器與組件;布局管理器;事件處理機(jī)制;常用Swing組件的使用;重點(diǎn)及難點(diǎn)事件處理機(jī)制;常用Swing組件的使用;能力目標(biāo)培養(yǎng)學(xué)生圖形用戶界面設(shè)計和實現(xiàn)的技能、閱讀代碼的能力、程序調(diào)試能力,養(yǎng)成良好的編碼風(fēng)格培養(yǎng)學(xué)生英語閱讀能力和技術(shù)創(chuàng)新能力培養(yǎng)學(xué)生的自學(xué)能力、知識的融會貫通能力和動手實踐能力了解圖形用戶界面程序用戶圖形用戶界面多行文本框圖形用戶界面的組成組件單選按鈕單行文本框標(biāo)簽復(fù)選按鈕按鈕組合框窗口面板容器組件與容器圖形用戶界面組件圖形化顯示與用戶交互放在容器內(nèi)容器能容納其他組件和容器一種組件add()添加組件remove()移除組件GUI支持包java.awt包javax.swing包提供了大量地進(jìn)行GUI設(shè)計所使用的類和接口Java語言進(jìn)行GUI程序設(shè)計的基礎(chǔ)由100%純Java實現(xiàn)的,不依賴操作系統(tǒng)的支持使得Java的圖形用戶界面上了一個臺階AWT概述創(chuàng)建GUI通過java.awt包容器組件布局管理器字體事件圖形和繪制方法包含AWT容器組件以圖形表示的對象允許用戶交互創(chuàng)建并構(gòu)造用于選擇新字體的對象用于用戶和系統(tǒng)交互AWT包含內(nèi)容使用AWT圖形方法相對于窗口繪制圖形定義GUI組件的位置AWT(重量級組件)awt包中主要類之間的關(guān)系A(chǔ)WTEventFontComponentGraphicsMenuComponent布局管理器類ContainerPanelWindowAppletFrameSwing概述創(chuàng)建GUI通過Javax.swing包Swing包含內(nèi)容容器組件可改變的外觀Java2D圖形繪制包含Swing組件以圖形表示的對象允許用戶交互使用Java2D繪制圖形可更換圖形界面的風(fēng)格Swing(輕量級組件,純Java組件)Swing的類層次結(jié)構(gòu)javax.DialogSwing組件是Container類的直接或間接子類。
任務(wù)1創(chuàng)建具有以下特征的窗口:
自定義窗口的標(biāo)題;窗口的大小不可變。
標(biāo)題最大化按鈕失效創(chuàng)建圖形用戶界面的基本步驟
選擇外觀布局管理器添加組件事件處理
創(chuàng)建容器保存內(nèi)容顯示內(nèi)容控制用戶輸入Swing外觀的設(shè)置3-1Swing采用MVC設(shè)計范式:即“模型-視圖-控制”??刂破饕晥D模型Swing外觀的設(shè)置3-2Swing采用可插入的外觀感覺,使得程序在一個平臺上運(yùn)行時能夠有不同的外觀。Metal外觀Motif外觀Windows外觀Swing外觀的設(shè)置3-3publicstaticvoidmain(String[]args){//設(shè)定頁面外觀風(fēng)格try{
}catch(ClassNotFoundExceptione){ e.printStackTrace();}catch(InstantiationExceptione){ e.printStackTrace();}catch(IllegalAccessExceptione){ e.printStackTrace();}catch(UnsupportedLookAndFeelExceptione){ e.printStackTrace();}UIManager.setLookAndFeel(“com.sun.Java.swing.plaf.windows.WindowsLookAndFeel”);//Windows風(fēng)格UIManager.setLookAndFeel(“Javax.swing.plaf.metal.MetalLookAndFeel”);//Metal風(fēng)格UIManager.setLookAndFeel("com.sun.Java.swing.plaf.motif.MotifLookAndFeel");//Motif風(fēng)格UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());//設(shè)定當(dāng)前平臺外觀風(fēng)格Swing容器組件主窗口Swing應(yīng)用程序創(chuàng)建容器設(shè)置容器大小(對框架及面板而言)設(shè)置容器可見度(對框架及面板而言)創(chuàng)建頂層容器頂層容器(每個應(yīng)用程序中至少有一個)內(nèi)容面板主要顯示區(qū)域包含
GUI中的可視組件常用容器—JFrame的使用JFrame的使用2-1向JFrame中添加組件的兩種方式之一:用getContentPane()方法獲得JFrame的內(nèi)容面板,再對其加入組件:
frame.getContentPane().add(childComponent)JFrame的使用2-2向JFrame中添加組件的兩種方式之二:把組件添加到Jpanel之類的中間容器中,用setContentPane()方法把該容器置為JFrame的內(nèi)容面板:
JpanelcontentPane=newJpanel();
……//把其它組件添加到Jpanel中;frame.setContentPane(contentPane);
任務(wù)1:分析與實現(xiàn)importjavax.swing.*;importjava.awt.*;classGUIDemo1{{ staticvoidsetLocaleLookAndFeel(){ {
try{ { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch(Exceptione){} } publicstaticvoidmain(String[]args) { GUIDemo1.setLocaleLookAndFeel();//選擇外觀風(fēng)格 JFramef=newJFrame("第一個Java窗口");//創(chuàng)建容器 f.setSize(300,300);//設(shè)置容器大小 f.setVisible(true);//設(shè)置容器可見性
}}任務(wù)2實現(xiàn)如下圖所示的圖形用戶界面。布局管理器(LayoutManager)為了實現(xiàn)跨平臺的特性并獲得動態(tài)的布局效果,Java將容器內(nèi)的所有組件安排給“布局管理器”負(fù)責(zé)管理。布局管理器管理當(dāng)窗口移動或調(diào)整大小后組件如何變化等功能。容器可以通過選擇不同的布局管理器來決定布局。setLayout()方法可以設(shè)置容器的布局管理器。FlowLayout—流式布局管理器
FlowLayout是JPanel的默認(rèn)布局管理器左右上下默認(rèn)居中對齊FlowLayout使用示例importjava.awt.*;importjavax.swing.*;classFlowLayoutDemoextendsJFrame{JButtonjb1,jb2,jb3,jb4,jb5;publicFlowLayoutDemo(Stringtitle) {super(title);}voidinit(){Containerc=frame.getContentPane();jb1=newJButton("第一個按鈕");jb2=newJButton("第二個按鈕"); jb3=newJButton("第三個按鈕");jb4=newJButton("第四個按鈕"); jb5=newJButton("第五個按鈕"); c.setLayout(newFlowLayout());//設(shè)置布局管理器 c.add(jb1);c.add(jb2);c.add(jb3);c.add(jb4);c.add(jb5); }publicstaticvoidmain(String[]args){FlowLayoutDemoflowlayout=newFlowLayoutDemo("FlowLayoutDemo"); flowlayout.init(); flowlayout.pack(); flowlayout.setVisible(true);}}
BorderLayout—邊界布局管理器
NorthEastWestSouthCenter當(dāng)容器大小變化時,組件的相對位置不變,大小發(fā)生變化BorderLayout—邊界布局管理器向BorderLayout布局的容器中添加組件時,可使用add(Component
compObj,Objectregion)方法。
組件對象表示區(qū)域的靜態(tài)常量實戰(zhàn):實現(xiàn)前面BorderLayout示例界面。BorderLayout—邊界布局管理器思考:橫向、縱向改變BorderLayout布局的容器大小,總結(jié)組件的變化規(guī)律。GridLayout—網(wǎng)格布局管理器
將容器的空間劃分成若干行、列的網(wǎng)格左右上下組件大小相同Swing常用容器—JPanel的使用JPanel面板是一種可以添加到其他容器中使用的容器組件。類中的方法獲得Swing常用組件的使用--JButtonJButton(按鈕)是一個常用組件,可以顯示文本或圖標(biāo),點(diǎn)擊時能夠響應(yīng)單擊事件。任務(wù)2:分析與實現(xiàn)2-1設(shè)置了邊界的JPanel面板作為內(nèi)容面板兩個按鈕添加到Jpanel面板中任務(wù)2:分析與實現(xiàn)2-2importjava.awt.*;importjavax.swing.*;classJPanelDemoextendsJPanel{JButtonb1=newJButton("JPanel");JButtonb2=newJButton("Demo");publicJPanelDemo(){ setBackground(Color.white); add(b1); add(b2);} publicstaticvoidmain(String[]args){ JPaneljp=newJPanelDemo(); jp.setBorder(BorderFactory.createTitledBorder("Hello,Border")); JFrameframe=newJFrame("JPanelDemo"); frame.setSize(200,150); frame.setContentPane(jp); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); }}任務(wù)3設(shè)計實現(xiàn)一個簡單的計算器界面,如下圖所示。容器的嵌套一個包含了多個組件的容器本身可以作為一個組件加到另一個容器中去,容器中再添加容器,這樣就形成了容器的嵌套。一個Jpanel包含一個標(biāo)簽一個Jpanel包含5個組件Swing常用組件的使用--JLabelJLabel(標(biāo)簽)是用戶不能修改只能查看的文本/圖像顯示區(qū)域。Swing常用組件的使用--JTextFieldJTextField(單行文本域)是一個單行條形文本區(qū),能夠接收輸入、顯示輸出。Swing常用組件的使用--JPasswordFieldJPasswordField(口令框)接受用戶的輸入,但不會真正顯示出來,而是顯示回顯符。JPasswordField實例實戰(zhàn):實現(xiàn)上面的圖形用戶界面。Swing常用組件的使用--JTextAreaJTextArea(多行文本框)可以輸入或輸出多行文本。JTextArea的換行方式手動換行自動換行:通過設(shè)置換行屬性來避免手動換行
textArea.setLineWrap(true);增加滾動條:通過把文本區(qū)插入到一個滾動窗格中來實現(xiàn)。JScrollPanescrollPane=newJScrollPane(textArea);任務(wù)3:分析與實現(xiàn)importjava.awt.*;importjavax.swing.*;classCalculateextendsJFrame{privateJTextFieldtx1; privateJTextFieldtx2; privateJTextFieldtx3; privateJPanelp; publicCalculate(Stringtitle) {super(title);} voidinit() {Containerc=this.getContentPane();JLabellab=newJLabel("計算器舉例");JLabellabl=newJLabel("+"); tx1=newJTextField(5); tx2=newJTextField(5); tx3=newJTextField(5); JButtonb=newJButton("=");p=newJPanel();p.add(lab);p.add(tx1);p.add(labl);p.add(tx2);p.add(b);p.add(tx3);c.add(p);}publicstaticvoidmain(String[]args){Calculatecal=newCalculate("計算器"); cal.init(); cal.pack(); cal.setVisible(true); }}事件處理的實現(xiàn)
思考:觀察前面任務(wù)中實現(xiàn)的用戶界面,界面中的組件是否實現(xiàn)了與用戶交互的功能?NO!必須進(jìn)行事件處理AWT事件處理機(jī)制—三類主要對象事件處理事件用戶對界面操作,以類的形式出現(xiàn)事件源事件發(fā)生的場所,通常就是各個組件事件處理者接收事件并對其進(jìn)行處理的對象EventEventSourceEventhandlerAWT事件處理機(jī)制—事件處理模型組件(事件源)事件監(jiān)聽器事件監(jiān)聽器注冊①外部作用生成事件對象把事件對象傳入事件監(jiān)聽器②事件對象③④事件類和事件監(jiān)聽器
事件處理者(監(jiān)聽器)通常是一個類,負(fù)責(zé)處理一類事件該類如果要能夠處理某種類型的事件,就必須實現(xiàn)與該事件類型相對應(yīng)的接口每個事件類對應(yīng)于一個事件監(jiān)聽器接口AWT中常用事件類及事件監(jiān)聽器接口
事件處理的實現(xiàn)步驟
1.編寫一個事件監(jiān)聽器類,實現(xiàn)與事件類XxxEvent相對應(yīng)的XxxListener接口;2.調(diào)用組件的addXxxListener方法,將監(jiān)聽器對象注冊到GUI組件上。事件處理舉例importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclassTestJButtonextendsJFrameimplementsActionListener{ JButtonb; publicTestJButton() { b=newJButton("PressMe!"); b.addActionListener(this); setLayout(newFlowLayout()); add(b);
} publicstaticvoidmain(Stringargs[]) { TestJButtonb=newTestJButton(); b.setSize(200,100); b.setVisible(true); } publicvoidactionPerformed(ActionEvente) { System.out.println("Actionoccurred"); }}按鈕b是事件源,向b注冊一個事件監(jiān)聽器重寫監(jiān)聽器接口的方法事件處理器,實現(xiàn)監(jiān)聽器接口窗口關(guān)閉事件的實現(xiàn)importjavax.swing.*;importjava.awt.event.*;publicclassWindowClosing{publicstaticvoidmain(String[]args){ JFrameframe=newJFrame();//設(shè)置用戶關(guān)閉框架時的響應(yīng)動作 frame.addWindowListener(newQuitWindow())fframe.setSize(200,300); frame.show();//顯示該框架}}向主窗口注冊窗口事件監(jiān)聽器importjava.awt.*;importjavax.swing.*;importjava.awt.event.*classQuitWindowimplementsWindowListener{ publicvoidwindowClosing(WindowEvente) { System.exit(0); } publicvoidwindowOpened(WindowEvente){} publicvoidwindowClosed(WindowEvente){} publicvoidwindowIconified(WindowEvente){} publicvoidwindowDeiconified(WindowEvente){} publicvoidwindowActivated(WindowEvente){} publicvoidwindowDeactivated(WindowEvente){}}必須實現(xiàn)接口中的所有方法實戰(zhàn):查閱JDK文檔,了解JButton組件對應(yīng)的事件類型,為計算器界面中的按鈕組件添加事件處理代碼,實現(xiàn)加法功能。鼠標(biāo)點(diǎn)擊6思考:使用事件監(jiān)聽器實現(xiàn)窗口關(guān)閉事件時,即便是我們不感興趣的方法,也必須一一實現(xiàn),增加了很多不必要的麻煩,有什么辦法可以解決這個問題?可以使用事件適配器解決這一問題事件適配器
事件適配器
一些Listener接口有適配器(Adapter)類,可以通過繼承事件所對應(yīng)的Adapter類,重寫需要方法,無關(guān)方法不用實現(xiàn)。優(yōu)點(diǎn):提供了一種簡單的實現(xiàn)監(jiān)聽器的手段,可以縮短程序代碼缺點(diǎn):當(dāng)需要多種監(jiān)聽器或此類已有父類時,無法采用適配器事件適配器及其對應(yīng)的事件監(jiān)聽器接口實戰(zhàn):使用事件適配器實現(xiàn)窗口關(guān)閉事件。內(nèi)部類在事件處理中的應(yīng)用內(nèi)部類的主要應(yīng)用就是圖形用戶界面開發(fā)中的事件處理publicclassWindowClosing{ publicstaticvoidmain(String[]args){ JFrameframe=newJFrame(); classQuitWindowextendsWindowAdapter{ publicvoidwindowClosing(WindowEvente) { System.exit(0); }
} frame.addWindowListener(newQuitWindow()); frame.setSize(200,300); frame.show();}}實現(xiàn)窗口關(guān)閉事件匿名類在事件處理中的應(yīng)用實現(xiàn)窗口關(guān)閉事件publicclassWindowClosing{ publicstaticvoidmain(String[]args) { JFrameframe=newJFrame(); frame.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente) { System.exit(0); } }); frame.setSize(200,300); frame.show();}}內(nèi)部類只使用一次時,可以使用匿名類,進(jìn)一步簡化代碼其他Swing組件的使用
設(shè)計一個用來修改文字顏色和字形的界面,如下圖所示。任務(wù)4復(fù)選按鈕(JCheckBox)JCheckBox(復(fù)選按鈕)有選中和未選中兩種狀態(tài),允許用戶從一組選項中進(jìn)行多個選擇。JCheckBox的相關(guān)事件類JCheckBox類的選擇事件是ItemEvent可實現(xiàn)ItemListener接口的itemStateChanged()方法來處理事件用addItemListener()方法注冊。查閱JDK文檔,學(xué)習(xí)ItemEvent類的常用方法。單選按鈕(JRadioButton)JRadioButton(單選按鈕)通常是成組使用的,可以通過ButtonGroup類進(jìn)行管理。要保證三個JRadioButton的互斥性應(yīng)該把這三個控件放到同一個ButtonGroup中查閱JDK文檔,學(xué)習(xí)JRadioButton類及ButtonGroup類的常用方法。任務(wù)4:分析與實現(xiàn)一個Jpanel包含一組復(fù)選按鈕一個Jpanel包含一組單選按鈕一個Jpanel包含一個標(biāo)簽實戰(zhàn):獨(dú)立完成任務(wù)4的實現(xiàn)。任務(wù)5完善計算器的功能,實現(xiàn)加、減、乘、除四種運(yùn)算。
組合框(JComboBox)
JComboBox(組合框)是一種“多選一”的組件,可編輯每項的內(nèi)容,而且每項的內(nèi)容可以是任意類。當(dāng)用戶選取組合框中的某一選擇項時,可激發(fā)ItemEvent事件。查閱JDK文檔,學(xué)習(xí)JComboBox類的常用方法。JComboBox使用示例ItemEvent事件處理方式創(chuàng)建組合框,設(shè)置選項內(nèi)容為數(shù)組s中的元素列表框(JList)
JList(列表框)向用戶顯示一組選項,并且允許用戶一次選擇其中的一項或多項。列表框查閱JDK文檔,學(xué)習(xí)JList類的常用方法及相關(guān)事件。實戰(zhàn):獨(dú)立完成任務(wù)5的實現(xiàn)。任務(wù)6設(shè)計實現(xiàn)如下圖所示的表格形式的界面。表格(JTable)
JTable(表格)的主要功能是把數(shù)據(jù)以二維表格的形式顯示出來。JTable的使用生成一個MyTableModel類型的對象來表示數(shù)據(jù)。用TableModel創(chuàng)建JTable對象。在JTable中添加滾動條面板。創(chuàng)建JTable表格可按四步進(jìn)行:從AbstractTableModel類中繼承得到,getColumnCount,getRowCount,getColumnName,getValueAt四個方法必須重寫
任務(wù)6:分析與實現(xiàn)要繼承這個抽象類必須實現(xiàn)的四個方法用TableModel創(chuàng)建JTable在JTable中添加滾動條面板任務(wù)6:分析與實現(xiàn)JTable的相關(guān)事件類選中表格中的某行可以引發(fā)ListSelectionEvent事件。在事件處理之前,應(yīng)通過setSelectionMode()方法設(shè)置選種模式。設(shè)置選種模式添加行選擇事件任務(wù)7設(shè)計實現(xiàn)如下圖所示的界面,要求拖動滾動條上的滑塊,滑塊指向的值顯示在界面的相應(yīng)位置處。滾動條(JSlider)
JSlider(滾動條)是一種可以在某一數(shù)值范圍內(nèi)進(jìn)行值的線性調(diào)整的組件。JSlider的相關(guān)事件類當(dāng)用戶拖動滑塊時,JSlider對象將產(chǎn)生一個ChangeEvent事件,此類事件是Swing包中提供的事件。查閱JDK文檔,學(xué)習(xí)ChangeEvent類的常用方法并了解Swing包中提供的事件類。實戰(zhàn):獨(dú)立完成任務(wù)7的分析與實現(xiàn)。任務(wù)8設(shè)計實現(xiàn)如下圖所示的界面,要求點(diǎn)擊下拉菜單項時窗口中輸出相應(yīng)的操作。菜單
下拉式菜單主要由三部分組成:菜單條(JMenuBar)、菜單(JMenu)和菜單項(JMenuItem)。創(chuàng)建菜單的步驟publicclassMenuDemoextendsJFrameimplementsActionListener{ JTextAreatf=newJTextArea(); JMenuBarmbar=newJMenuBar(); JMenumenu=newJMenu("文件"); JMenuItemnewfile=newJMenuItem("新建"); JMenuItemopen=newJMenuItem("打開"); JMenuItemclose=newJMenuItem("關(guān)閉"); JMenuItemquit=newJMenuItem("退出");publicMenuDemo(){ super("Menu實例");newfile.addActionListener(this); open.addActionListener(this); close.addActionListener(this); quit.addActionListener(this);menu.add(newfile);menu.add(open);menu.add(close);menu.addSeparator();menu.add(quit); 創(chuàng)建JMenuBar對象創(chuàng)建JMenu對象創(chuàng)建JMenuItem對象添加事件處理向菜單中添加菜單項mbar.add(menu);setJMenuBar(mbar); getContentPane().add(tf); addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);} }); } publicvoidactionPerformed(ActionEvente){ if(e.getSource()==newfile)tf.setText("新建文件"); if(e.getSource()==open)tf.setText("打開文件"); if(e.getSource()==close)tf.setText("關(guān)閉文件"); if(e.getSource()==quit)System.exit(0); }publicstaticvoidmain(String[]args) JFramef=newMenuDemo(); f.setSize(200,200); f.setVisible(true);}}
添加菜單到菜單條中添加菜單條到窗口中對話框?qū)υ捒虻姆诸惸J綄υ捒虮仨氃谟脩籼幚硗旰蟛旁试S用戶與主窗口繼續(xù)進(jìn)行交互非模式對話框允許用戶同時在對話框和程序剩余部分中輸入信息Swing中提供的對話框showMessageDialog:顯示一條消息等待用戶點(diǎn)擊OK;showConfirmDialog:顯示一條消息并等待確認(rèn);showOptionDialog:顯示一條消息并等待用戶在一組自定義選項中的選擇;showInputDialog:顯示一條消息并等待用戶的輸入。對話框的使用
intselection=JOptionPane.showConfirmDialog( DialogFrame.this,//父窗口 “Areyousure?”,//消息“Logout”,//對話框標(biāo)題 JOptionPane.OK_CANCEL_OPTION,//底部按鈕類型 JOptionPane.WARNING_MESSAGE);//消息類型showMessageDialog、showInputDialog:
只能有一組標(biāo)準(zhǔn)按鈕,OK和OK/CANCELshowConfirmDialog:
DEFAULT_OPTION,YES_NO_OPTION,YES_NO_CANCEL_OPTION,OK_CANCEL__OPTION四種按鈕形式。鼠標(biāo)鍵盤事件設(shè)計實現(xiàn)一個電子白板,可以用鼠標(biāo)在上面繪畫,可用鍵盤在上面寫字。任務(wù)9鼠標(biāo)事件--MouseEvent鼠標(biāo)事件MouseEvent對應(yīng)于接口MouseListener。鼠標(biāo)事件--Mouse
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DBJ51-T 190-2022 四川省裝配式支吊架抗震技術(shù)標(biāo)準(zhǔn)
- 2024年大學(xué)創(chuàng)新創(chuàng)業(yè)工作總結(jié)
- 《我的時間管理分享》課件
- 《村鎮(zhèn)銀行介紹》課件
- 新媒體春分營銷策略
- 酒店前臺話務(wù)員工作總結(jié)
- 企業(yè)生涯規(guī)劃圖譜
- 2023-2024年項目部安全培訓(xùn)考試題及答案往年題考
- 2023年-2024年項目部管理人員安全教育培訓(xùn)試題及答案(各地真題)
- 化工生產(chǎn)實習(xí)報告合集十篇
- 【9道期末】安徽省宣城市2023-2024學(xué)年九年級上學(xué)期期末道德與法治試題(含解析)
- 《工程造價專業(yè)應(yīng)用型本科畢業(yè)設(shè)計指導(dǎo)標(biāo)準(zhǔn)》
- 倉庫主管2025年終總結(jié)及2025工作計劃
- 2024年01月11396藥事管理與法規(guī)(本)期末試題答案
- 股權(quán)投資協(xié)議的風(fēng)險控制
- 山西省晉中市2023-2024學(xué)年高一上學(xué)期期末考試 物理 含解析
- 裝卸工安全培訓(xùn)課件
- 中成藥學(xué)完整版本
- 安全與急救學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024-2025學(xué)年度廣東省春季高考英語模擬試卷(解析版) - 副本
- 2024電力安全工器具及小型施工機(jī)具預(yù)防性試驗規(guī)程
評論
0/150
提交評論