![Java基礎(chǔ)實踐教程-GUI編程_第1頁](http://file4.renrendoc.com/view12/M0B/0A/12/wKhkGWXWfz2Aad-HAACk6zFTdKg951.jpg)
![Java基礎(chǔ)實踐教程-GUI編程_第2頁](http://file4.renrendoc.com/view12/M0B/0A/12/wKhkGWXWfz2Aad-HAACk6zFTdKg9512.jpg)
![Java基礎(chǔ)實踐教程-GUI編程_第3頁](http://file4.renrendoc.com/view12/M0B/0A/12/wKhkGWXWfz2Aad-HAACk6zFTdKg9513.jpg)
![Java基礎(chǔ)實踐教程-GUI編程_第4頁](http://file4.renrendoc.com/view12/M0B/0A/12/wKhkGWXWfz2Aad-HAACk6zFTdKg9514.jpg)
![Java基礎(chǔ)實踐教程-GUI編程_第5頁](http://file4.renrendoc.com/view12/M0B/0A/12/wKhkGWXWfz2Aad-HAACk6zFTdKg9515.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
10.1
AWT和Swing概述10.2布局管理器10.3常用的Swing組件10.4事件處理10.1AWT和Swing概述GUI又稱圖形用戶接口,是指采用圖形化方式顯示的計算機操作用戶界面。在Java語言中提供了以下三個核心包用來做GUI開發(fā)。(1)java.awt包:它是由SUN公司最早推出的一套針對GUI編程的類庫,需要使用本地操作系統(tǒng)提供的圖形庫,因此它不跨平臺,屬于重量級組件,目前主要用于提供字體和布局管理器。(2)java.swing包:它是由純Java語言實現(xiàn)的GUI工具包,可跨平臺,屬于輕量級組件。Swing組件中包含了AWT(AbstractWindowToolkit,抽象窗口工具包)包中所有的功能,并擴展了更豐富的組件級功能,基本可以滿足所有的GUI開發(fā)需求。(3)java.awt.event包:它基于事件處理機制提供了豐富的事件接口和類,可實現(xiàn)圖形界面與用戶的交互功能。java.awt包中提供的GUI開發(fā)工具的類庫如圖10-1-1所示。從圖10-1中可以看到,AWT包主要包含了兩大相對獨立的類庫,即菜單類和非菜單類。其中,組件又包含了容器類和控件類。菜單類的根父類是MenuComponent類,它是一個抽象類,直接繼承自O(shè)bject類,實現(xiàn)了Serializable接口。該類里面提供了菜單名、字體等屬性的查詢和設(shè)置方法以及與事件處理相關(guān)的方法。在MenuComponent類的子類中提供了更多關(guān)于菜單的操作,如MenuBar類和Menu類提供了增加和移除菜單等功能。AWT組件類的根父類為Component類,它也直接繼承自O(shè)bject類,可實現(xiàn)ImageObserver、MenuContainer和Serializable接口。該類也是一個抽象類,主要提供了訪問和設(shè)置組件對象的基本屬性功能、關(guān)聯(lián)和管理事件處理的基本方法等。AWT中容器類的父類是Container類,AWT的常用容器都直接或間接繼承自該類。Container類主要提供了針對容器屬性的增加、刪除、查詢和修改的基本功能以及繪畫等功能。控件類主要包括按鈕、標(biāo)簽和復(fù)選框等控件,它們的父類是Component類,其功能方法與Component類基本一致。java.swing包是純Java組件,使得應(yīng)用程序在不同的平臺上運行時具有相同的外觀和行為。它包含了AWT組件的所有GUI工具,因此是開發(fā)商用軟件GUI的主要工具。本章重點介紹Swing組件的用法。Swing組件在Java基礎(chǔ)包和Java擴展包中都有類庫,其中大部分組件類位于擴展包中。Swing組件的主要成員如圖10-1-2所示。由圖10-1-2可知,Swing組件的邏輯架構(gòu)及命名與AWT組件有很多相似之處,也存在一些差別。在命名上,Swing中的類名在原有AWT組件類名上添加了字母J,并進行了類庫擴展。Swing的根父類是java.awt.Container類,也就是AWT包中容器類的父類,因此Swing組件與AWT組件是一脈相承的。與AWT明顯不同的是,Swing從java.awt.Container類中派生出組件類和頂級容器類,而組件類包含了菜單類、中間容器類和控件類。這里需要注意的是,組件類不依賴本地平臺,它們是輕量級組件,而頂級容器類均需要依賴本地平臺,它們屬于重量級組件。容器類的JWindow、JFrame和JDialog類被稱為頂級容器或頂級窗口,通常作為一個界面或?qū)υ捒虻母萜?,其中,最常用的是JFrame和JDialog兩個類。對比而言,Swing包的中間容器類用于在根容器中創(chuàng)建一個子窗口,它不能單獨存在,因此稱為中間容器,如JPanel、JScrollPane等面板。Swing包的常用容器有JFrame(窗口)、JDialog(對話框)、JOptionPane(對話框)、JInternalFrame(內(nèi)部窗口)、JPanel(面板)、JScrollPane(滾動面板)、JSplitPane(分隔面板)、JTabbedPane(選項卡面板)和JLayeredPane(層級面板)。Swing包的常用控件有JLabel(標(biāo)簽)、JButton(按鈕)、JRadioButton(單選按鈕)、JCheckBox(復(fù)選框)、JToggleButton(開關(guān)按鈕)、JTextField(文本框)、JPasswordField(密碼框)、JTextArea(文本區(qū)域)、JComboBox(下拉列表框)、JList(列表框)、JProgressBar(進度條)和JSlider(滑塊)。Swing包的常用菜單有MenuBar(菜單欄)、JPopupMenu(彈出菜單)和JMenuItem(菜單項)。此外,Swing包中的常用組件還有JTable(表格)、JFileChooser(文件選擇器)、JColorChooser(顏色選擇器)、JTree(樹)和JToolBar(工具欄)。由于使用Swing設(shè)計GUI離不開頂級容器,因此首先介紹常用的頂級容器JFrame的使用方法。JFrame類位于javax.swing包里面,繼承自java.awt.Frame,它使用public修飾,可以直接創(chuàng)建對象。JFrame類提供了四種重載構(gòu)造方法,如表10-1-1所示。10.2布局管理器10.2.1FlowLayoutFlowLayout(流式布局管理器)是Java布局管理器中最簡單的布局管理器。所謂流式,就是它里面的控件像水流一樣,從左到右按順序水平排列,直到達到容器的右邊界,然后自動跳轉(zhuǎn)到第二行的左側(cè)起始位置。組件在水平排列時存在三種對齊方式——左對齊、居中對齊和右對齊,分別使用FlowLayout類的三個靜態(tài)常量表示,即FlowLayout.LEFT、FlowLayout.CENTER和FlowLayout.RIGTH。如果沒有顯式設(shè)置,排列方式默認為居中對齊。此外,F(xiàn)lowLayout還可以指定組件在每行中的控件與容器方向開始邊對應(yīng)以及控件與容器方向結(jié)束邊對應(yīng)。因此,F(xiàn)lowLayout共提供了五種對齊方式。FlowLayout類的構(gòu)造方法如表10-2-1所示。除了通過構(gòu)造方法指定組件對齊方式和間距之外,也可以通過FlowLayout類中的方法來設(shè)置,可用的方法如表10-2-2所示。10.2.2BorderLayout中國傳統(tǒng)建筑講究“坐北朝南,東西對稱”,它描述了房屋的方位信息。其實BorderLayout(邊界布局管理器)與之非常相似。BorderLayout將窗體劃分為東、西、南、北、中,分別對應(yīng)BorderLayout類中的靜態(tài)常量BorderLayout.EAST、BorderLayout.WEST、BorderLayout.SOUTH、BorderLayout.NORTH和BorderLayout.CENTER。組件可以指定放在任意一個區(qū)域。BorderLayout的構(gòu)造方法和常用方法如表10-2-3所示。10.2.3GridLayoutGridLayout(網(wǎng)格布局管理器)用來創(chuàng)建具有指定行數(shù)和列數(shù)的網(wǎng)格布局,每個網(wǎng)格的尺寸大小完全相同,每個網(wǎng)格中只能放置一個組件。在窗體中添加組件時,組件是按照網(wǎng)格布局的網(wǎng)格編碼依次放入的。其中最先存放組件的是第一行第一列的網(wǎng)格,然后由左向右依次存放,當(dāng)前一行存滿之后轉(zhuǎn)向下一行,從最左端開始繼續(xù)存放組件。GridLayout添加組件的邏輯與FlowLayout相似,不同的是前者的組件會填充滿每個網(wǎng)格,而后者不會自動填充滿。GridLayout的典型應(yīng)用就是數(shù)字鍵盤。GridLayout類的構(gòu)造方法和常用方法如表10-2-4所示。10.2.4GridBagLayoutGridBagLayout與GridLayout有些類似,但較之更靈活復(fù)雜。它不要求組件的大小相同,允許一個組件跨越一個或者多個單元格。該單元格被稱為顯示區(qū)域。每個組件的顯示區(qū)域按從左到右、從上到下依次排列。組件之間可以垂直、水平對齊,或沿它們的基線對齊。為了能夠靈活地管理每個組件,GridBagLayout還使用到了GridBagConstraints工具類。該類封裝了若干個針對組件的約束屬性。由GridBagLayout管理的每個組件都關(guān)聯(lián)了一個GridBagConstraints實例,以指定該組件的位置信息、對齊方式等。GridBagConstraints類常使用無參的構(gòu)造方法創(chuàng)建對象,它的常用屬性如表10-2-5所示。需要注意的是,如果希望組件的尺寸隨著容器尺寸的改變而改變,則需同時設(shè)置GridBagConstraints對象的weightx、weighty屬性和fill屬性。在使用GridBagLayout布局文件時,通常采用如下幾個步驟:(1)使用GridBagLayout無參構(gòu)造方法創(chuàng)建網(wǎng)格袋布局管理器,并設(shè)置它管理某個容器;(2)創(chuàng)建GridBagConstraints有參構(gòu)造方法創(chuàng)建它的對象并設(shè)置相應(yīng)的屬性,或直接調(diào)用GridBagConstraints有參構(gòu)造方法將屬性值作為形參傳入;(3)調(diào)用GridBagLayout的setConstraints方法將組件與一個GridBagConstraints對象進行綁定,該方法的聲明語法格式如下:(4)在容器中添加已綁定過的組件。10.2.5CardLayoutCardLayout(卡片布局管理器)允許容器內(nèi)的界面可以像幻燈片一樣左右切換。CardLayout將加入容器的所有組件看成一疊卡片,每個卡片只對應(yīng)一個組件,每次只有最上面的那個組件才可見。這就好比疊在一起的撲克牌,每次只有最上面的一張撲克牌才可見。CardLayout的構(gòu)造方法和常用方法如表10-2-6所示。這里需要注意的是,java.awt包內(nèi)的布局管理器都重寫了Object的toString方法,用以返回布局管理器的類名稱和最基本的設(shè)置參數(shù)。例如,CardLayout的toString方法源代碼如下:它返回了CardLayout類名以及組件垂直和水平間隙的大小。ActionListener接口中有一個抽象方法actionPerformed,其聲明的語法格式為:這個方法不需要編程人員自己調(diào)用,而是在程序運行中,當(dāng)用戶單擊了窗體里面任意一個與ActionListener接口對象關(guān)聯(lián)的按鈕時,JVM將自動調(diào)用這個方法并執(zhí)行里面的代碼。這里通過setActionListener方法將調(diào)用它的按鈕與形參中的ActionListener接口的實現(xiàn)類關(guān)聯(lián)在一起。setActionListener方法聲明的語法格式如下:該方法是JButton繼承自AbstractButton類中的方法。在程序運行時,當(dāng)單擊了某個按鈕時,該按鈕被單擊的事件Event就會被送入actionPerformed方法的形參中,通過getSource方法得到被單擊的按鈕對象。然后判斷這個按鈕對象是哪一個按鈕,再執(zhí)行相應(yīng)的操作。整個過程其實就是一個事件監(jiān)聽和事件處理的過程,其中,事件源就是被單擊的按鈕,事件就是鼠標(biāo)單擊,事件處理就是JVM自動調(diào)用actionPerformed方法執(zhí)行里面的邏輯。10.2.6不使用布局管理器在創(chuàng)建一個窗體后,如果設(shè)置該窗體的布局為null,就顯式地聲明了這個窗體不使用布局管理器。此時可以通過設(shè)置窗體中組件的坐標(biāo)位置來確定它們的空間位置。這時用到的主要方法包括setLocation、setSize和setBounds。10.3常用的Swing組件10.3.1中間容器JPanel和JScrollPane中間容器JPanel屬于面板的一種。面板通過javax.swing.JComponent類繼承了java.awt.Container類。面板與JFrame的不同主要表現(xiàn)在:面板不能單獨存在,必須放在其他的容器中;同時面板沒有移動、縮放和關(guān)閉圖標(biāo);此外,在一個程序界面中JFrame只能有一個,但可以在一個容器中設(shè)置多個面板。常用的面板還有JScrollPane,它與JPanel的區(qū)別主要表現(xiàn)在:JPanel是一個無邊框的容器,可以設(shè)置布局管理器,添加多個組件;而JScrollPane是一個帶有滾動條的容器,它只能添加一個組件,如果需要在JScrollPane中添加多個組件,可以先嵌入一個JPanel面板,然后在內(nèi)置的JPanel中添加。1.JPanelJPanel的構(gòu)造方法包含四種重載形式,如表10-3-1所示。2.JScrollPaneJScrollPane的構(gòu)造方法和常用方法如表10-3-2所示10.3.2標(biāo)簽JLabel(標(biāo)簽)用來顯示用戶不可修改的信息,包括文本信息和圖形信息,它常用于標(biāo)注其他組件的功能。JLabel通過直接父類javax.swing.JComponent繼承了java.awt.Container類,因此具有Container類中的所有方法。JLabel類提供了六種構(gòu)造方法,如表10-3-3所示。標(biāo)簽的對齊方式是由SwingConstants類的靜態(tài)常量確定的,部分靜態(tài)常量的功能描述如表10-3-4所示。除了在構(gòu)造方法中指定對齊方式、文本和圖標(biāo)之外,也可以在JLabel的方法中設(shè)置。JLabel常用的方法如表10-3-5所示。10.3.3文本組件文本組件用于接收用戶輸入的純文本信息或向用戶展示純文本信息。文本組件的父類是javax.swing.text.JTextComponent,它提供了文本組件常用的操作方法,如表10-3-6所示。常用的文本組件有JTextField(文本框)和JTextArea(文本域)。它們的功能和方法非常類似,區(qū)別在于文本框只能輸入和顯示單行文本信息,而文本域可以輸入和顯示多行文本信息。1.文本框文本框的構(gòu)造方法和常用方法如表10-3-7所示。2.文本域文本域的構(gòu)造方法和常用方法如表10-3-8所示。JFrame容器的setDefaultCloseOperation方法,該方法用于設(shè)置窗體的關(guān)閉按鈕被單擊時采取的策略。JFrame窗體關(guān)閉按鈕被單擊時的響應(yīng)策略有四種,如表10-3-9所示10.3.4按鈕JButton(按鈕)繼承自javax.swing.AbstractButton。JButton類的構(gòu)造方法和常用方法如表10-3-10所示。10.3.5選擇框Swing中常用的選擇框包括JRadioButon、JCheckBox和JComboBox。顧名思義,單選框是多選一,最多選一項;復(fù)選框是多選多,可以選多項;下拉列表框也是多選一,它將所有選項折疊收藏在一起,通過單擊出現(xiàn)下拉式的選擇列表。1.單選框單選框通過父類javax.swing.JToggleButton間接繼承了javax.swing.AbstractButton。它的構(gòu)造方法如表10-3-11所示。JRadioButton本身并不會實現(xiàn)多選一的互斥功能,而是需要通過javax.swing.ButtonGroup類將它們組成一組。其中,ButtonGroup類是一個不可見的組件,不需要把它添加到容器中,只需要在邏輯上把JRadioButton添加到ButtonGroup中即可。2.復(fù)選框復(fù)選框同樣通過父類javax.swing.JToggleButton間接繼承了javax.swing.AbstractButton。它的構(gòu)造方法如表10-3-12所示。3.下拉列表框下拉列表框也被稱作組合框,它通過父類javax.swing.JComponent繼承了java.awt.Container,由此可知下拉列表框具有容器的一些性質(zhì)。JComboBox的構(gòu)造方法和常用方法如表10-3-13所示。10.3.6菜單Swing包中提供了豐富的菜單組件,其中最常用的是下拉式菜單和彈出式菜單。1.下拉式菜單下拉式菜單包括三種組件:JMenuBar(菜單欄)、JMenu(菜單)和JMenuItem(菜單項)。其中,菜單欄可以認為是菜單的容器,用來管理菜單,而不直接參與用戶交互功能,通常水平放置在頂級容器的頂部;菜單用來管理菜單項,可以認為是菜單項的容器,它可以是單一層次的結(jié)構(gòu),也可以是多層次的結(jié)構(gòu);菜單項是菜單系統(tǒng)中最基本的組件,當(dāng)用戶單擊菜單項時,通常會實現(xiàn)一定的功能。菜單欄提供了一個無參的構(gòu)造方法。它常用的操作方法如表10-3-14所示。JMenu提供了四種構(gòu)造方法,它的構(gòu)造方法和常用方法如表10-3-15所示。JMenuItem提供了六種構(gòu)造方法,如表10-3-16所示。創(chuàng)建和添加一個下拉式菜單,一般遵循以下步驟:(1)創(chuàng)建JMenuBar對象,將其添加到JFrame窗體頂部。(2)創(chuàng)建若干JMenu對象,將其添加到JMenuBar中。(3)若菜單有二級菜單,則創(chuàng)建二級JMenu對象,添加到對應(yīng)的上級JMenu中。多級菜單也有類似的嵌套關(guān)系。(4)創(chuàng)建JMenuItem菜單項,將其添加到對應(yīng)的JMenu中。2.彈出式菜單彈出式菜單也非常常用,它默認是隱藏的,當(dāng)使用鼠標(biāo)右鍵單擊窗體空白處時就會顯示出一個懸浮式的菜單,即彈出式菜單。在Swing中使用JPopupMenu類和JMenuItem類創(chuàng)建彈出式菜單。JPopupMenu類通過其父類javax.swing.JComponent間接繼承了java.awt.Container,因此JPopupMenu具有容器的一些特性。它提供了兩種構(gòu)造方法,它的構(gòu)造方法和常用方法如表10-3-17所示。10.3.7表格表格是一個多行、多列的二維顯示區(qū),在Java語言的Swing包中使用JTable來表示。JTable通過它的父類javax.swing.JComponent間接繼承了java.awt.Container類。通常,使用表格遵循以下步驟:(1)創(chuàng)建一個JTable對象。(2)創(chuàng)建一個JScrollPane對象(指定表格及水平和垂直滾動條)。(3)將表格添加到滾動面板。(4)將滾動面板添加到JFrame的內(nèi)容窗格中。10.3.8對話框?qū)υ捒蚴窃谧烂嫔蠋в袠?biāo)題欄、輸入框和按鈕的一個臨時窗口,也稱為對話窗口。對話框的主要用途是實現(xiàn)人機對話,其應(yīng)用場景體現(xiàn)為:系統(tǒng)通過對話框提示用戶輸入與任務(wù)有關(guān)的信息,如提示用戶輸入要打開文件的名字及路徑;改變對象的屬性、窗口等環(huán)境設(shè)置,如設(shè)置文件的屬性、設(shè)置顯示器的顏色和分辨率、設(shè)置桌面的顯示效果;提供用戶可能需要的信息等。在Swing中對話框是獨立存在的。與JFrame不同的是,對話框沒有菜單、最大按鈕及最小按鈕。常用的Swing對話框包括JDialog對話框和JOptionPane對話框兩種。1.JDialog對話框JDialog對話框?qū)儆赟wing包的頂級容器,它繼承自java.awt.Dialog類。JDialog對話框分為兩種形式:模態(tài)對話框和非模態(tài)對話框。其中,模態(tài)對話框的特點是用戶必須先響應(yīng)完對話框之后才可與其他窗口交互,非模態(tài)對話框允許在處理對話框的同時與其他窗口交互。JDialog對話框提供了豐富的構(gòu)造方法,其中比較常用的構(gòu)造方法如表10-3-18所示。2.JOptionPane對話框JOptionPane對話框是Swing內(nèi)部已實現(xiàn)好的,以靜態(tài)方法的形式提供調(diào)用,能夠快速方便地彈出讓用戶提供值或向其發(fā)出通知的標(biāo)準(zhǔn)對話框。JOptionPane常用的靜態(tài)方法如表10-3-19所示,這些方法都有重載的形式,這里只給出方法名及功能描述。其中,消息類型是showMessageDialog類的靜態(tài)常量,不同的消息類型會默認使用不同的圖標(biāo)。常用的消息類型包括:10.4事件處理GUI要響應(yīng)用戶的單擊、滑動和輸入文本等交互需求,離不開事件處理機制。在Java語言中的事件處理采取“委派事件模型”。就像單擊按鈕事件一樣,當(dāng)單擊事件發(fā)生時,產(chǎn)生事件的按鈕會把單擊“信息”傳遞給“事件的監(jiān)聽者”ActionListener處理,調(diào)用該監(jiān)聽者內(nèi)的方法執(zhí)行相應(yīng)的操作。在這個過程中涉及幾個重要的概念,具體介紹如下:(1)事件對象(Event):它通常是用戶的一個操作,實際上就是java.awt.event事件類庫里某個類所創(chuàng)建的對象。(2)事件源(EventSource):它通常是一個產(chǎn)生事件的對象,如窗口、按鈕和下拉菜單等。(3)監(jiān)聽器(Listener):它本質(zhì)上是一個接口的實現(xiàn)類對象,需要與事件源綁定在一起,負責(zé)監(jiān)聽事件源上產(chǎn)生的事件,如果有事件發(fā)生,其內(nèi)部對應(yīng)的方法就會被自動調(diào)用執(zhí)行。(4)事件處理器:監(jiān)聽器對象對接收的事件對象進行相應(yīng)處理的方法。事件處理機制就是基于上述幾個重要概念,具體邏輯關(guān)系如圖10-4-1所示。事件處理機制的具體實現(xiàn)過程如下:(1)需要待交互的組件通過調(diào)用add***Listener方法將組件與監(jiān)聽器的實例綁定在一起
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)通訊設(shè)施建設(shè)承包合同
- 專利技術(shù)許可使用與轉(zhuǎn)讓協(xié)議
- 事業(yè)單位正式聘用勞動合同
- 環(huán)??萍佳邪l(fā)與推廣合作協(xié)議
- 企業(yè)向法人借款合同
- 三農(nóng)田土壤健康與改良方案
- 智慧農(nóng)業(yè)技術(shù)研發(fā)與應(yīng)用合作協(xié)議
- 公路護欄采購合同
- 動物養(yǎng)殖場地租賃合同
- 經(jīng)典工程勞務(wù)承包合同
- 第8課《山山水水》教學(xué)設(shè)計(新人教版小學(xué)美術(shù)六年級上冊)
- word 公章 模板
- 世界技能大賽PPT幻燈片課件(PPT 21頁)
- Python程序設(shè)計ppt課件完整版
- T∕ZSQX 008-2020 建設(shè)工程全過程質(zhì)量行為導(dǎo)則
- 質(zhì)量管理體系基礎(chǔ)知識培訓(xùn)-2016
- 《腹膜透析》ppt課件
- 甲醇催化劑說明書
- 北京課改版(2021年春修訂版)數(shù)學(xué)四年級下冊全冊教學(xué)課件
- 汽車標(biāo)準(zhǔn)法規(guī)(課堂PPT)
- 碳硅及其化合物-講義
評論
0/150
提交評論