




已閱讀5頁,還剩24頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
9.1 JTextArea (文本區)JTextArea 是一個顯示純文本的多行區域,它具有換行功能,同時能也可以借助JScrollPane提供垂直和水平滾動的功能。9.1.1 JTextArea的構造函數JTextArea()構造新的 TextAreaJTextArea(Documentdoc)構造新的 JTextArea,使其具有給定的文檔模型,所有其他參數均默認為 (null, 0, 0)JTextArea(introws,intcolumns)構造具有指定行數和列數的新的空 TextArea9.1.2 JTextArea的常用方法append(Stringstr) 將給定文本追加到文檔結尾String getText()返回JTextArea中的內容int getLineCount()返回 JTextArea 中當前文本所占的行數setLineWrap(booleanwrap)設置文本區的換行策略9.1.3文本區與文本域下面示例展示了文本區與文本域的文本顯示特點,文本域只能輸入和顯示單行文本,且不能提供換行與滾動條功能,而文本區則既可以提供通過換行的多行顯示,也能通過將文本區添加到一個JScrollPane(滾動窗格)中實現垂直和水平的滾動功能。示例1package edu.learn;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class JTextAreaExample extends JFrame implements ActionListenerJLabel userLab = new JLabel(發信人:,JLabel.LEFT);JTextField userText = new JTextField(20);JLabel mailLab = new JLabel(所發信息:,JLabel.LEFT);JTextField mailText = new JTextField(20);JLabel infoLabe = new JLabel(信息記錄:,JLabel.LEFT);JTextArea txtArea = new JTextArea(5,20);public JTextAreaExample()init();setTitle(文本域練習);setBounds(200,200,250,270);setResizable(false);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);public void init()setLayout(new FlowLayout(FlowLayout.LEFT);add(userLab);add(userText);add(mailLab);add(mailText);add(infoLabe); /JTextArea不能自己提供滾動條,它必須借助于滾動窗格JScrollPaneJScrollPane scroll = new JScrollPane(txtArea);txtArea.setEditable(false);add(scroll);mailText.addActionListener(this);public void actionPerformed(ActionEvent e)txtArea.append(userText.getText() + : + mailText.getText()+ n);mailText.setText();public static void main(String args) new JTextAreaExample();運行結果: 9.1.4 文本區上的DocumentEvent事件JTextArea經常觸發的事件是DocumentEvent事件,DocumentEvent類放在javax.swing.envent包中。當文本區中的文本進行編輯操作,使文本區中的文本內容發生變化時,就會導致文本區中的文檔模型中的數據發生變化,從而導致文本區觸發DocumentEvent事件。DocumentEvent事件實現的接口以及接口中的抽象事件處理方法如下:事件類型對應監聽器接口接口中的抽象事件方法DocumentEventDocumentListenerpublic void changeUpdate(DocumentEvent e);public void removeUpdate(DocumentEvent e);public void insertUpdate(DocumentEvent e);以下示例展示了文本區的DocumentEvent(文檔事件)的處理方法,該示例中有兩個文本區,當用戶朝一個文本區中輸入文本時,就觸發DocumentEvent事件中的文檔內容改變事件,從而把修改的內容添加到另一個文本區中。示例2package edu.learn;import java.awt.*;import java.awt.event.*;import javax.swing.event.*;import javax.swing.*;import java.util.*;public class WindowTextSort extends JFrame implements DocumentListener JTextArea text1,text2; WindowTextSort() init(); setLayout(new FlowLayout(); setBounds(120,100,300,240); setResizable(false); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); void init() text1=new JTextArea(5,25); text2=new JTextArea(5,25); add(new JScrollPane(text1); add(new JScrollPane(text2); text1.setLineWrap(true); text2.setLineWrap(true); text2.setEditable(false); (text1.getDocument().addDocumentListener(this);/向文檔注冊監視器 public void changedUpdate(DocumentEvent e) /接口方法 String str=text1.getText(); String s = str.substring(str.length()-1); text2.append(s); public void removeUpdate(DocumentEvent e) /接口方法 changedUpdate(e); public void insertUpdate(DocumentEvent e) /接口方法 changedUpdate(e); public static void main(String args) WindowTextSort win=new WindowTextSort(); win.setTitle(窗口); 運行結果:9.2 JCheckBox(復選框)JCheckBox復選框是一個擁有被選定狀態和取消選定狀態的對象,用戶可以通過點擊復選框對象來切換其狀態9.2.1 JCheckBox的構造函數JCheckBox()創建一個沒有文本、沒有圖標并且最初未被選定的復選框JCheckBox(String name)創建一個帶文本的、最初未被選定的復選框JCheckBox(Icon icon)創建有一個圖標、最初未被選定的復選框JCheckBox(String name,Icon icon)創建帶有指定文本和圖標的、最初未選定的復選框9.2.2 JCheckBox的常用方法setIcon(Icon icon)設置當前復選框的圖標setText(String name)設置當前復選框的文本String getText()獲得當前復選框的文本boolean isSeleced()獲得當前復選框的是否被選中的狀態,如果被選中則返回true,否則返回false9.2.3 JCheckBox的ItemEvent事件 當JCheckBox(復選框)的選中狀態由于用戶的鼠標點擊而出現改變時,復選框就會觸發ItemEvent事件。其中ItemEvent 對應的監聽器接口和抽象方法如下:事件類型對應監聽器接口接口中的抽象事件方法ItemEventItemListenerpublic void ItemStateChanged(ItemEvent e);JCheckBox注冊ItemEvent事件監聽器對象的方法如下:addItemListener(ItemListener listener)注冊ItemEvent事件監聽器對象removeItemListener(ItemListener listener)移除ItemEvent事件監聽器對象以下是一個通過多個復選框選擇購買電腦附件的示例,每當用戶選中或者是取消復選框狀態時就觸發ItemEvent事件,在該事件中將被選中的復選框中的內容獲取后顯示在下面的文本框中。示例3package edu.learn;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class JCheckBoxExample extends JFrame implements ActionListenerJCheckBox cb1 = new JCheckBox(無限鼠標);JCheckBox cb2 = new JCheckBox(移動硬盤);JCheckBox cb3 = new JCheckBox(U盤);JCheckBox cb4 = new JCheckBox(打印機);JPanel p1 = new JPanel();JLabel label = new JLabel(需要購買的附件:);public JCheckBoxExample()setTitle(復選框練習);p1.setLayout(new GridLayout(4,1);p1.setBorder(BorderFactory.createTitledBorder(系統退出時);p1.add(cb1); p1.add(cb2); p1.add(cb3); p1.add(cb4);add(p1,BorderLayout.CENTER);add(label,BorderLayout.SOUTH);cb1.addActionListener(this);cb2.addActionListener(this);cb3.addActionListener(this);cb4.addActionListener(this);this.setBounds(200, 200, 300, 200);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);public void actionPerformed(ActionEvent e)String s = ;if(cb1.isSelected() = true) s += + cb1.getText();if(cb2.isSelected() = true) s += + cb2.getText();if(cb3.isSelected() = true) s += + cb3.getText();if(cb4.isSelected() = true) s += + cb4.getText();label.setText(需要購買的附件:+s);public static void main(String args)JCheckBoxExample.setDefaultLookAndFeelDecorated(true);JCheckBoxExample frame = new JCheckBoxExample();運行結果:9.3 JRadioButton (單選按鈕)JRadioButton(單選按鈕)與JCheckBox(復選框)類似,都擁有被選中和未被選中兩種狀態,用戶通過鼠標點擊在這兩個狀態中進行切換。所不同的是復選框組中每個對象狀態的改變都不影響其它復選框對象的狀態,而在同一組中的單選按鈕則同一時間只有一個單選按鈕對象能處于被選中狀態。因此單選按鈕在使用時必須擁有一個“按鈕組”的控件來將若干個單選按鈕歸入同一個組中,例如:ButtonGroup group = new ButtonGroup();JRadioButton radIBM = new JRadioButton(IBM);JRadioButton radToshiba = new JRadioButton(TOSHIBA);JRadioButton radLennvo = new JRadioButton(lenovo);JRadioButton radAcer = new JRadioButton(acer);group.add(radIBM); group.add(radToshiba);group.add(radLennvo);group.add(radAcer);9.3.1 JRadioButton的構造函數JRadioButton()創建一個初始化為未選擇的單選按鈕,其文本未設定JRadioButton(Iconicon)創建一個初始化為未選擇的單選按鈕,其具有指定的圖像但無文本JRadioButton(Iconicon, booleanselected)創建一個具有指定圖像和選擇狀態的單選按鈕,但無文本JRadioButton(Stringtext)創建一個具有指定文本的狀態為未選擇的單選按鈕JRadioButton(Stringtext, booleanselected)創建一個具有指定文本和選擇狀態的單選按鈕JRadioButton(Stringtext, Iconicon)創建一個具有指定的文本和圖像并初始化為未選擇的單選按鈕JRadioButton(Stringtext, Iconicon, booleanselected)創建一個具有指定的文本、圖像和選擇狀態的單選按鈕9.2.2 JRadioButton的常用方法setIcon(Icon icon)設置單選按鈕的圖標setText(String name)設置單選按鈕的文本String getText()獲得單選按鈕的文本boolean isSeleced()獲得單選按鈕的是否被選中的狀態,如果被選中則返回true,否則返回false9.3.3 JRadioButton的ItemEvent和ActionEvent事件 JRadioButton與JCheckBox相同,當用戶改變它們的狀態時,觸發的也同樣是ItemEvent事件,不過也可以使用ActionEvent事件來完成用戶對于單選按鈕的操作事件處理。示例4package edu.learn;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class JRadioButtonExample extends JFrame implements ActionListenerButtonGroup group = new ButtonGroup();JRadioButton radIBM = new JRadioButton(IBM);JRadioButton radToshiba = new JRadioButton(TOSHIBA);JRadioButton radLennvo = new JRadioButton(lenovo);JRadioButton radAcer = new JRadioButton(acer);JLabel label = new JLabel(我選擇的電腦是:);public JRadioButtonExample()setTitle(JRadioButton example);this.setLayout(new GridLayout(5,1);add(radIBM); add(radToshiba);add(radLennvo);add(radAcer);add(label);radIBM.addActionListener(this);radToshiba.addActionListener(this);radLennvo.addActionListener(this);radAcer.addActionListener(this);group.add(radIBM); group.add(radToshiba);group.add(radLennvo);group.add(radAcer);radIBM.setSelected(true);this.setBounds(200, 200, 300, 200);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);public void actionPerformed(ActionEvent e)String s = (JRadioButton)e.getSource().getText();label.setText(我選擇的電腦是: + s);public static void main(String args) JRadioButtonExample.setDefaultLookAndFeelDecorated(true);JRadioButtonExample frame = new JRadioButtonExample();運行結果:9.4 JComboBox (組合框)JComboBox (組合框)也叫作下拉列表,叫它組合框是因為它更像是由文本框和列表框組合形成的一個控件,用戶可以通過文本框旁的一個箭頭按鈕將選項列表打開,選中內容后關閉選項列表,并將信息顯示在文本框中。9.4.1 JComboBox的構造函數JComboBox()創建具有默認數據模型的 JComboBoxJComboBox(Objectitems)創建包含指定數組中的元素的 JComboBox9.4.2 JComboBox的常用方法addItem(ObjectanObject)為項列表添加項Object getItemAt(intindex)返回指定索引處的列表項int getItemCount()返回列表中的項數int getSelectedIndex()返回組合框中當前被選中選項的索引,索引的起始值為0Object getSelectedItem()返回組合框中當前被選中選項的對象removeItem(ObjectanObject)從項列表中移除項removeItemAt(intanIndex)移除 anIndex 處的項removeAllItems()從項列表中移除所有項9.4.3 JCheckBox的ItemEvent和ActionListener事件 當用戶使用鼠標點擊組合框時,組合框會觸發ActionListener事件,而當用戶從一個選中一個選項,同時取消前一個被選中選項時則會觸發ItemEvent事件。9.5 JList(列表框)多組數據項可以在列表框中進行同時顯示,并且允許用戶選擇一個或多個項。9.5.1 JList的構造函數JList()構造一個具有空的、只讀模型的 JListJList(ObjectlistData)構造一個 JList,使其顯示指定數組中的元素JList(ListModeldataModel)根據指定的非 null 模型構造一個顯示元素的 JList使用JList(ObjectlistData)創建的列表框,列表框中的項是靜態的,不可修改的。因為JList控件只提供數據項的顯示和提取操作,而不提供數據的添加和修改。如果需要動態的設置數據項給列表框,就必須使用模型。這很類似與MVC結構,即JList提供數據的顯示和用戶的交互,而ListModel(模型)則負責數據的存儲和修改。具體如下:經常用于JList中進行存儲數據的模型為DefaultListModel,它用于存儲可變數據,具體用法如下:ListModelJList顯示交互數據存儲和修改DefaultListModel lstModel = new DefaultListModel();JList listType = new JList(lstModel); 9.5.2 JList的常用方法Object getSelectedValue()返回最小的選擇單元索引的值;只選擇了列表中單個項時,返回所選值。int getSelectedIndex()返回最小的選擇單元索引;只選擇了列表中單個項時,返回該選擇。ListModel getModel()返回保存由 JList 組件顯示的項列表的數據模型setSelectedIndex(intindex)選擇單個單元setSelectedValue(ObjectanObject, booleanshouldScroll)從列表中選擇指定的對象9.5.3 ListModel的常用方法add(int index, Object element)在指定index處添加一個列表項addElement(Object element)在列表末尾追加一個element列表項Object getItemAt(intindex)返回指定索引處的列表項int getSize()返回列表的長度remove(int index)移除指定index位置的列表項removeElement(Object obj)移除列表中的對應obj的列表項removeElementAt(int index)移除指定index位置的列表項removeAllElements()移除列表中的所有項9.5.4 JList的ListSelectionEvent事件 當用戶選擇列表中的選項使列表選擇值發生更改時,就會觸發ListSelectioEvnet事件。ListSelectioEvnet屬于javax.swing.event包中,其監聽器接口和抽象事件方法如下:事件類型對應監聽器接口接口中的抽象事件方法ListSelectioEvnetListSelectionListenerpublic void valueChanged(ListSelectionEvent e)JList注冊ListSelectioEvnet事件監聽器對象的方法如下:addListSelectionListener(ListSelectioEvnet listener)注冊ItemEvent事件監聽器對象removeListSelectionListener(ListSelectioEvnet listener)移除ItemEvent事件監聽器對象以下示例展示的是一個購買電腦的過程案例,窗體中首先使用組合框實現品牌的選擇,之后根據品牌在列表框中實現該品牌各種型號的設置。最后用戶選擇型號后,該電腦品牌和型號都將顯示在窗體下部的文本框中。示例5package edu.learn;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.awt.*;public class JComboBoxAndJListExample2 extends JFrame implements ItemListener,ListSelectionListenerJComboBox compute = new JComboBox();/定義組合框DefaultListModel lstModel = new DefaultListModel();/定義一個用于存儲可變數據的模型JList listType = new JList(lstModel); /利用模型創建列表框JScrollPane scroll = new JScrollPane(listType); /使用滾動面板提供滾動條功能JTextField text = new JTextField(您所選擇的電腦:);Object type = E40,E220,x120e,x201i,x1,L412,L420,T420i,T410i,C600-C01B,L600-62R,L700-T10R,C600D-T10B,L700-C07R,L750-T01S,Y470N-IFI,Y470N-ISE,G460AL-ITH(A),Y460C-ITH(灰),G470AH-ITH(深棕色),Y470N-ITH;public JComboBoxAndJListExample2()setTitle(組合框與列表框);compute.addItem(IBM);compute.addItem(TOSHIBA);compute.addItem(lenovo);compute.addItemListener(this); setLayout(new BorderLayout(5,5);add(compute,BorderLayout.NORTH);add(scroll,BorderLayout.CENTER);listType.setFixedCellWidth(150); /設置列表框的每個單元的寬度listType.addListSelectionListener(this);add(text,BorderLayout.SOUTH);JList list = new JList();/設置窗體的大小和位置this.setBounds(200, 200, 400, 220);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);/對應ItemListener的事件方法public void itemStateChanged(ItemEvent e)String s = (String)compute.getSelectedItem();/e.getStateChange() = e.SELECTED用于避免兩次的事件觸發if (s.equals(IBM)& e.getStateChange() = e.SELECTED)lstModel.removeAllElements();for(int i=0;itype0.length;i+)lstModel.addElement(type0i);else if(s.equals(TOSHIBA) & e.getStateChange() = e.SELECTED)lstModel.removeAllElements();for(int i=0;itype1.length;i+)lstModel.addElement(type1i);else if(s.equals(lenovo) & e.getStateChange() = e.SELECTED)lstModel.removeAllElements();for(int i=0;itype2.length;i+)lstModel.addElement(type2i);/對應ListSelectionListener的事件方法public void valueChanged(ListSelectionEvent e)if(e.getValueIsAdjusting() = true) /用于避免兩次的事件觸發String brand = compute.getSelectedItem().toString();String type = listType.getSelectedValue().toString();text.setText(您所選擇的電腦: + brand + + type);public static void main(String args) /利用默認的窗口管理器為窗體實現新的外觀JComboBoxAndJListExample2.setDefaultLookAndFeelDecorated(true);JComboBoxAndJListExample2 frame = new JComboBoxAndJListExample2();運行結果: 9.6 容器容器分為底層容器和中間容器。底層容器有JFrame,JDialog,它們擁有標題欄、菜單欄,是所有控件以及中間容器賴以放置的基本容器。而中間容器是必須被添加到底層容器才能發揮作用的容器。它們沒有標題欄、沒有菜單欄,雖然也能作為容器添加組件,但卻不能獨立存在。9.6.1 JPanel面板面板是一個用于放置一個或多個組件的中間容器,擁有默認的布局(FlowLayout流式布局)。JPanel p = new JPanel();p.add(componet1);p.add(componet2);9.6.2 JScrollPanl 滾動窗格滾動窗格只可以添加一個組件,且該組件擁有多行或者多列的數據顯示要求。大多數情況下這樣的組件有JTextArea、JList、JTree、JTable等等。JscrollPane scroll = new JScrollPane(new JTextArea();9.6.3 JSplitPane拆分窗格拆分窗格顧名思義就是把窗體拆分為兩個部分,每個部分可以是一個容器。拆分窗格有兩種兩種類型:水平拆分和垂直拆分。1. 水平拆分splitPane = new JSplitPane(JSplitPane. HORIZONTAL_SPLIT,true);splitPane.setDividerLocation(0.5);splitPane.add(p1,JSplitPane.LEFT);splitPane.add(p2,JSplitPane.RIGHT);2. 垂直拆分splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT,true);splitPane.setDividerLocation(0.5);splitPane.add(p1,JSplitPane.TOP);splitPane.add(p2,JSplitPane.BOTTOM);示例6package edu.learn;import javax.swing.*;import java.awt.*;public class JSplitPaneExample extends JFrame JPanel p1,p2;JSplitPane splitPane;public JSplitPaneExample()init();setBounds(200, 200, 300, 200);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);public void init()setTitle(拆分窗格練習);p1 = new JPanel();p2 = new JPanel();/splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,p1,p2);/水平拆分 /*splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true);splitPane.setDividerLocation(0.5);splitPane.add(p1,JSplitPane.LEFT);splitPane.add(p2,JSplitPane.RIGHT); */垂直拆分splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT,true);splitPane.setDividerLocation(0.5);splitPane.add(p1,JSplitPane.TOP);splitPane.add(p2,JSplitPane.BOTTOM);add(splitPane,BorderLayout.CENTER);public static void main(String args) new JSplitPaneExample();運行結果: 9.7 JTable(表格)JTable(表格)是以行和列的形式顯示數據,并允許對表格中的數據進行編輯。表格必須與模型一起實現MVC結構,即表格提供內容顯示和用戶交互功能,而模型實現對數據的動態添加和維護功能。因此,如果創建了不帶有模型的表格,其僅僅只能提供內容的顯示和獲取,而不能提供數據的動態設置。9.7.1創建不帶模型的表格1)調用無參構造函數JTabletable=newJTable();2) 以表頭和表數據創建表格Object data = 第1行表數據,第2行表數據, , 第N行表數據;String columnNames =列名1 ,列名2, , 列名N;JTable table = new JTable(data, columnNames);以下示例展示了利用表數據和表頭創建不帶模型的表格的方法,示例如下示例7package edu.learn;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.*;public class SimpleTableExample extends JFrame public SimpleTableExample() Object data = 0001, 張三, 財務處,new GregorianCalendar(1965,10,10),new Double(1700.00), 0002, 李四, 計算中心,new GregorianCalendar(1987,9,9),new Double(1500.00), 0003, 王二, 收費大隊,new GregorianCalendar(1978,12,23),new Double(2000.00), 0004, 無一, 維修部,new GregorianCalendar(1982,10,23),new Double(2900.78), 0005, 小小, 計財部,new GregorianCalendar(1976,10,1),new Double(100.00), ; String columnNames = 雇員編號, 雇員姓名,所在部門,出生日期,薪水; /創建表格 JTable table = new JTable(data, columnNames); /設置關閉列寬自動調整特性 table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); /給表格添加滾動條 JScrollPane scrollPane = new JScrollPane(table); add(scrollPane, BorderLayout.CENTER); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); public static void main(String args) SimpleTableExample f = new SimpleTableExample(); f.setSize(500,300); f.setVisible(true); 運行結果:在示例中,由于沒有模型對數據進行維護,因此時間類型不能正確顯示,同時也不能通過添加方法向表格添加新的數據項。9.7.2 創建帶模型的表格利用默認的DefaultTableModel作為表格模型,以提供表格中的數據添加、刪除操作。Object data = 內容1,內容2 , ,內容3String columnNames列名1 ,列名2, , 列名N;DefaultTableModel model=new DefaultTableModel(null,columnNames);JTable table = new JTable(model); model.addRow(data);示例8package edu.learn;import javax.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 民用航空器維修人員考試的重要性探討及試題及答案
- 企業運營效率提升的財務策略試題及答案
- 22025年護師試題版權保護及答案
- 無人機在環境監測中的實際操作試題及答案
- 無人機飛行計劃必須知試題及答案
- 會計信息質量評估試題及答案
- 中級會計視角的審計考題分析及答案
- 消防安全文化在消防工程中的應用試題及答案
- 業擴工程的中間檢查、竣工驗收與裝表接電(用電營業管理)
- 醫療數據利用的道德邊界與規范研究
- 哈爾濱市早市現狀調研及分析
- 繪本故事 第一次上街買東西
- 中國神華能源股份有限公司大柳塔煤礦礦山地質環境保護與土地復墾方案
- GB/T 17241.1-1998鑄鐵管法蘭類型
- GB/T 14981-2009熱軋圓盤條尺寸、外形、重量及允許偏差
- ANSA 初級培訓教程課件
- 哈薩克族課件
- 高壓開關柜基礎知識培訓課件
- 企業臨時用工合同范本(5篇)
- 質量三體系課件
- 卡介苗的接種課件
評論
0/150
提交評論