Java圖形界面設(shè)計(jì)課件_第1頁(yè)
Java圖形界面設(shè)計(jì)課件_第2頁(yè)
Java圖形界面設(shè)計(jì)課件_第3頁(yè)
Java圖形界面設(shè)計(jì)課件_第4頁(yè)
Java圖形界面設(shè)計(jì)課件_第5頁(yè)
已閱讀5頁(yè),還剩84頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第十二章圖形用戶界面吳冬芹yzwudongqin@金陵學(xué)院信息科學(xué)與工程學(xué)院第十二章圖形用戶界面吳冬芹12主要內(nèi)容一、圖形用戶界面二、圖形用戶界面工具包(Swing)三、創(chuàng)建組件四、布局管理器2主要內(nèi)容一、圖形用戶界面圖形用戶界面圖形用戶界面(GraphicsUserInterface,GUI)用圖形的方式,借助菜單、按鈕等標(biāo)準(zhǔn)界面元素和鼠標(biāo)操作,幫助用戶方便地向計(jì)算機(jī)系統(tǒng)發(fā)出指令、啟動(dòng)操作,并將系統(tǒng)運(yùn)行的結(jié)果同樣以圖形方式顯示給用戶的技術(shù)。Java的GUI程序設(shè)計(jì)是Java程序設(shè)計(jì)的基礎(chǔ)。Java提供的兩個(gè)處理圖形用戶界面的類庫(kù)Java.awt包和javax.swing包AbstractWindowToolkit抽象窗口工具集awt的擴(kuò)展,根據(jù)給定環(huán)境調(diào)整外觀和感覺(jué)。圖形用戶界面圖形用戶界面(GraphicsUserInt圖形用戶界面1996年,Sun公司和Netsacpe公司在一個(gè)稱為Swing的項(xiàng)目中合作完善了Netsacpe公司原來(lái)開(kāi)發(fā)的一套GUI庫(kù),也就是現(xiàn)在所謂的Swing組件。JFC(Java基礎(chǔ)類庫(kù),JavaFoundationClass)是在1997年的JavaOne開(kāi)發(fā)者大會(huì)上首次提出的,是指用于構(gòu)建GUI的一組API。實(shí)際上,Swing只是JFC的一部分,其他的還有二維圖形(Java2D)API以及拖放(DragandDrop)API等。圖形用戶界面1996年,Sun公司和Netsacpe公司在一圖形用戶界面5java.awt包中包含了一個(gè)完整的類集以支持GUI程序的設(shè)計(jì),其中的類及相互關(guān)系可以用下圖來(lái)描述事件類字體類GraphicsComponent顏色類布局管理類java.lang.ObjectCheckboxContainerButton…WindowPanelAppletDialogFrameList圖象類菜單類ScrollpaneAWT與Swing圖形用戶界面5java.awt包中包含了一個(gè)完整的類集以支持圖形用戶界面Swing工具包作為AWT的擴(kuò)展,并以AWT為基礎(chǔ)Swing跨平臺(tái)的靈活性,可以根據(jù)給定環(huán)境而調(diào)整他們的外觀和感覺(jué)。重型組件AWT組件通常稱為重型組件,因?yàn)樗谶\(yùn)行時(shí)需要一個(gè)與平臺(tái)相關(guān)的本地組件為之服務(wù)。輕型組件Swing組件是純Java編寫(xiě)的,不直接使用本地組件,所以通常稱為輕型組件。Swing組件類的名字開(kāi)頭都有前綴”J”圖形用戶界面Swing工具包作為AWT的擴(kuò)展,并以AWT為基7AWT與Swing頂層窗口類之間的關(guān)系7AWT與Swing頂層窗口類之間的關(guān)系圖形用戶界面8Swing組件圖形用戶界面8Swing組件9主要內(nèi)容一、圖形用戶界面二、圖形用戶界面工具包(Swing)三、創(chuàng)建組件四、布局管理器9主要內(nèi)容一、圖形用戶界面SwingJava圖形用戶界面的基本元素主要由圖形用戶界面工具包Swing提供。Java圖形用戶界面的基本元素包括:用戶界面組件(組件類)、事件處理模塊(事件類)、圖形和圖像工具(圖形類、圖像類)、布局管理器(布局類)等。它們主要在javax.swing包中。java組件類的繼承關(guān)系見(jiàn)教材圖12.1SwingJava圖形用戶界面的基本元素主要由圖形用戶界面工1、Swing組件分類構(gòu)成圖形用戶界面的類可以分為三組:(1)容器類(containerclass),包含其他組件的類頂層容器,能獨(dú)立存在,是可以獨(dú)立的窗口,如JFrame,JApplet,JDialog等頂層容器大都含有邊框并且可以移動(dòng)、放大、縮小等非頂層容器,不能獨(dú)立存在不是獨(dú)立的窗口,它們必須位于窗口之內(nèi),非頂層容器包括JPanel及JScrollPanel等非頂層容器必須放入窗口之內(nèi)才能顯示一般獨(dú)立應(yīng)用程序使用JFrame,在上面放置Jpanel面板,如果應(yīng)用到瀏覽器中,使用JApplet1、Swing組件分類構(gòu)成圖形用戶界面的類可以分為三組:1、Swing組件分類(2)組件類(componentclass)所有SwingGUI組件類(除JFrame、JApplet和JDialog)都是JComponent類的子類例如,JButton、JTextField、JTextArea、JComboBox、JList、JRadioButton和JMenu等(3)輔助類(helperclass)用來(lái)描述組件屬性的,輔助類通常包含在java.awt包中.如,繪圖類Graphics,顏色類Color,字體類Font,字體屬性類FontMetrics等Swing組件不能取代AWT的全部類,只能替代AWT的GUI組件類(Button,TextField,TextArea等),AWT輔助類保持不變。1、Swing組件分類(2)組件類(componentcl2、Swing容器的層次關(guān)系一般的Swing窗口,實(shí)際上包含幾個(gè)“層次”它是Java應(yīng)用程序的頂層容器。

頂層容器JFrame、JDialog等根窗格分層窗格內(nèi)容窗格Jpanel玻璃窗格根窗格(rootpane)是一個(gè)輕型容器在創(chuàng)建頂層容器后自動(dòng)創(chuàng)建是頂層容器包含的最高內(nèi)層無(wú)法在這一層做任何操作與處理分層窗格(layeredpane)該窗格中的組件可以設(shè)置圖層層次,不會(huì)被內(nèi)容窗格中的對(duì)象屏蔽圖層重疊時(shí),層次低的會(huì)被屏蔽本層主要用來(lái)管理菜單欄和內(nèi)容窗格若沒(méi)有菜單欄,則內(nèi)容窗格會(huì)充滿整個(gè)頂層窗格。內(nèi)容窗格(contentpane)默認(rèn)狀態(tài)下是一個(gè)具有布局管理器的Jpanel對(duì)象。大部分可見(jiàn)組件都放在內(nèi)容窗格中。玻璃窗格(glasspane)這一層主要用來(lái)產(chǎn)生繪圖效果,觸發(fā)窗口程序的各種事件。默認(rèn)是隱藏的。除非實(shí)現(xiàn)玻璃窗格的paint()方法,否則它是透明的。一般,根窗格、分層窗格、玻璃窗格都不直接使用。頂層窗格(toplevercontainer)是一個(gè)窗口容器對(duì)象。2、Swing容器的層次關(guān)系一般的Swing窗口,實(shí)際上包含Swing程序結(jié)構(gòu)簡(jiǎn)介Swing的程序設(shè)計(jì)一般可按照下列流程進(jìn)行:導(dǎo)入Swing包設(shè)置頂層容器設(shè)置組件增加組件到容器進(jìn)行事件處理

14導(dǎo)入Swing包首先必須導(dǎo)入Swing包:importjavax.swing.*;大多數(shù)Swing程序中,還需要導(dǎo)入兩個(gè)主要的AWT包importjava.awt.*;importjava.awt.event.*;Swing程序結(jié)構(gòu)簡(jiǎn)介Swing的程序設(shè)計(jì)一般可按照下列流JFrame特點(diǎn)JFrame的內(nèi)容窗格利用getContentPane()方法獲取Container類的對(duì)象。JFrame類對(duì)象顯示效果是一個(gè)“窗口”,帶有標(biāo)題欄和尺寸重置角標(biāo)ImageIcon圖標(biāo)對(duì)象。圖像類型是image,使用ImageIcon類創(chuàng)建圖標(biāo)對(duì)象。JMenuBar是框架的可選菜單默認(rèn)為不可見(jiàn),setVisible(true)方法使之可見(jiàn)默認(rèn)的布局管理器是BorderLayout使用setLayout()方法可以改變布局,要人工控制組件在容器中的大小和位置,調(diào)用方法setLayout(null)取消容器的布局管理器。再使用setLocation()、setSize()、setBounds()等方法來(lái)設(shè)定2、框架類JFrameJFrame特點(diǎn)2、框架類JFrame2、框架類JFrameJFrame的常用構(gòu)造方法有:JFrame()//創(chuàng)建一個(gè)沒(méi)有窗口標(biāo)題的窗口JFrame(Stringtitle)//創(chuàng)建一個(gè)標(biāo)題為title的框架例如JFramejfrm=newJFrame("這是個(gè)Swing程序");JFramejfrm=newJFrame();2、框架類JFrameJFrame的常用構(gòu)造方法有:2、框架類JFrame

jfrm.setSize(250,140);//設(shè)置框架大小

jfrm.setLocation(260,150);//設(shè)置組件顯示位置的左上角坐標(biāo)250140(0,0)2601502、框架類JFramejfrm.setSize(250,12、框架類JFrameJFrame的常用成員方法:voidsetTitle(Stringtitle)//設(shè)置框架的標(biāo)題StringgetTitle()//返回框架的標(biāo)題voidsetVisible(booleanb)//參數(shù)為true時(shí)設(shè)置框架可見(jiàn),該方法調(diào)用前框架不可見(jiàn)voidsetSize(doublew,doubleh)//設(shè)置框架的寬和高voidsetLocation(intx,inty)//設(shè)置窗口左上角的坐標(biāo),(0,0)為屏幕左上角ContainergetContentPane()//返回框架的內(nèi)容面板voidpack()

//根據(jù)框架中放置的組件和布局調(diào)整窗口大小voidsetJMenuBar(JMenuBarmenubar)//為框架設(shè)置菜單條voidsetDefaultCloseOperation(intoperation)//設(shè)置關(guān)閉窗口后的默認(rèn)操作2、框架類JFrameJFrame的常用成員方法:2、框架類JFrame調(diào)用JFrame中的方法

setDefaultCloseOperation(intoperation)用于關(guān)閉按鈕處理方式的靜態(tài)數(shù)據(jù)成員JFrame.DO_NOTHING_ON_CLOSE

//關(guān)閉窗口按鈕失效,什么也不做JFrame.DISPOSE_ON_CLOSE//隱藏窗口,釋放窗口占用的其他資源JFrame.HIDE_ON_CLOSE//隱藏窗口,但沒(méi)有關(guān)閉窗口JFrame.EXIT_ON_CLOSE

//結(jié)束程序運(yùn)行例如:jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);2、框架類JFrame調(diào)用JFrame中的方法2、框架類JFramepublicclassExample1{publicstaticvoidmain(String[]args){JFramef=newJFrame("空的框架");f.setSize(200,150);f.setLocation(100,100);f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}2、框架類JFramepublicclassExampl2、框架類JFrame框架窗口的創(chuàng)建。importjava.awt.Color;//加載java.awt包里的顏色類Colorimportjava.awt.Image;//加載java.awt包里的圖像類Imageimportjavax.swing.*;//加載javax.swing包里的所有類publicclassApp12_1{staticJFramejfrm=newJFrame("這是個(gè)Swing程序");//創(chuàng)建靜態(tài)框架并設(shè)置標(biāo)題

publicstaticvoidmain(String[]args){

JLabellab=newJLabel("我是一個(gè)標(biāo)簽");//創(chuàng)建一個(gè)標(biāo)簽對(duì)象labImageim=(newImageIcon("中國(guó)心.jpg")).getImage();//創(chuàng)建圖標(biāo)對(duì)象im

jfrm.setIconImage(im);//設(shè)置窗口的顯示圖標(biāo)

jfrm.setSize(250,140);//設(shè)置框架大小

jfrm.setBackground(Color.YELLOW);//設(shè)置框架背景顏色為黃色

jfrm.setLocation(260,150);//設(shè)置窗口的位置

jfrm.add(lab);

jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jfrm.setVisible(true);

}}此處黃色并不能正常顯示?2、框架類JFrame框架窗口的創(chuàng)建。importjav3、JPanel面板類面板一種沒(méi)有標(biāo)題欄、沒(méi)有邊框的中間層容器面板不是頂層容器,必須放到其他容器內(nèi),也可以放入另一個(gè)面板內(nèi)。Jpanel可以容納其他組件,一般用于布局和定位默認(rèn)的布局管理器FlowLayout,可以使用setLayout()改變默認(rèn)布局管理器JPanel的構(gòu)造方法有:publicJPanel(),以默認(rèn)布局管理器創(chuàng)建一個(gè)面板對(duì)象;publicJPanel(LayoutManagerlayout),以layout為布局管理器創(chuàng)建面板對(duì)象;3、JPanel面板類面板importjavax.swing.*;//加載javax.swing包里的所有類importjavax.swing.border.TitledBorder;//加載javax.swing.border包里的TitledBorder類publicclassApp12_2{publicstaticvoidmain(String[]args){JFramejfrm=newJFrame("我的框架");//創(chuàng)建框架對(duì)象jfrmjfrm.setSize(210,180);

jfrm.setLocation(500,400);

JPaneljpan=newJPanel();//創(chuàng)建面板對(duì)象jpanjpan.setSize(120,90);jpan.setLocation(40,30);

JButtonbun=newJButton("點(diǎn)擊我");//創(chuàng)建命令按鈕對(duì)象bunbun.setSize(80,20);bun.setLocation(20,30);

jfrm.setLayout(null);//取消窗口jfrm的默認(rèn)布局管理器

jpan.setLayout(null);//取消面板jpan的默認(rèn)布局管理器

jpan.add(bun);//將命令按鈕加入到面板中

jpan.setBorder(newTitledBorder("面板區(qū)"));//為面板對(duì)象jpan設(shè)置邊框

jfrm.add(jpan);//將面板對(duì)象jpan加入到窗口中

jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jfrm.setVisible(true);}}importjavax.swing.*;3、顏色類用Color類的對(duì)象來(lái)控制每個(gè)Color對(duì)象代表一種顏色,用戶可以直接使用Color類中定義好的顏色常量也可以通過(guò)調(diào)配紅、綠、藍(lán)三色的比例創(chuàng)建自己的Color對(duì)象Color類中定義有如下的三種構(gòu)造函數(shù)publicColor(intRed,intGreen,intBlue);publicColor(floatRed,floatGreen,floatBlue);publicColor(intRGB);Java.awt包中的常用類:importjava.awt.Color;3、顏色類用Color類的對(duì)象來(lái)控制3、顏色類不論用哪個(gè)構(gòu)造函數(shù)創(chuàng)建Color對(duì)象,都指定新建顏色中R(紅)、G(綠)、B(藍(lán))三色的比例publicColor(intRed,intGreen,intBlue);每個(gè)參數(shù)的取值范圍在0~255之間publicColor(floatRed,floatGreen,floatBlue);每個(gè)參數(shù)的取值范圍在0.0~1.0之間publicColor(intRGB);通過(guò)一個(gè)整型參數(shù)指明其RGB三色比例這個(gè)參數(shù)的0~7比特(取值范圍為0~255)代表紅色的比例,8~15比特代表綠色的比例,16~23比特代表藍(lán)色的比例。例如下面的語(yǔ)句創(chuàng)建的是藍(lán)色ColorblueColor=newColor(0,0,255);3、顏色類不論用哪個(gè)構(gòu)造函數(shù)創(chuàng)建Color對(duì)象,都指定新建顏3、顏色類除了創(chuàng)建自己的顏色,也可以直接使用Color類中定義好的顏色常量,如

jfrm.setBackground(Color.YELLOW);frm.setBackground(newColor(200,255,255));Color類中共定義了13種靜態(tài)顏色常量包括black,orange,pink,grey等使用時(shí)只需以Color為前綴,非常方便建議用大寫(xiě)參數(shù)取值0—255,越大則表明這種顏色的成分越重。3、顏色類除了創(chuàng)建自己的顏色,也可以直接使用Color類中定3、顏色類Color類的static常量和RGB值顏色常量顏色RGB值publicfinalstaticColororange-橙色255,200,0publicfinalstaticColorpink-粉紅色255,175,175publicfinalstaticColorcyan-青色0,255,255publicfinalstaticColormagenta-紫紅色255,0,255publicfinalstaticColoryellow-黃色255,255,0publicfinalstaticColorblack-黑色0,0,0publicfinalstaticColorwhite-白色255,255,255publicfinalstaticColorgray-灰色128,128,128publicfinalstaticColorlightGray-淺灰色192,192,192publicfinalstaticColordarkGray-深灰色64,64,64publicfinalstaticColorred-紅色255,0,0publicfinalstaticColorgreen-綠色0,255,0publicfinalstaticColorblue-藍(lán)色0,0,2553、顏色類Color類的static常量和RGB值3、顏色類對(duì)于GUI的控制組件,它們有四個(gè)與顏色有關(guān)的方法分別用來(lái)設(shè)置和獲取組件的背景色和前景色publicvoidsetBackground(Colorc)publicColorgetBackground()publicvoidsetForeground(Colorc)publicColorgetForeground()3、顏色類對(duì)于GUI的控制組件,它們有四個(gè)與顏色有關(guān)的方法分4、字體類字體類Font用來(lái)規(guī)范組件所用的字體樣式、大小與字形等。構(gòu)造方法:

Font(Stringfont_name,intstyle,intsize)字體名稱字形樣式:PLAIN、BOLD、ITALIC字號(hào)大小Java.awt包中的常用類:importjava.awt.Font;設(shè)置字體:組件.setFont(Fontfont);Fontfnt=newFont("Serief",Font.BOLD+Font.ITALIC,20);frm.setFont(fnt);4、字體類字體類Font字體名稱字形樣式:PLAIN、BOL5、圖像圖標(biāo)類圖像圖標(biāo)類ImageIconJava語(yǔ)言使用javax.swing.ImageIcon類表示圖標(biāo)ImageIcon的常用構(gòu)造方法publicImageIcon()

創(chuàng)建一個(gè)沒(méi)有圖像的圖標(biāo)publicImageIcon(Stringfilename)

以文件名filename為圖像文件創(chuàng)建一個(gè)圖標(biāo)對(duì)象publciImageIcon(Imageimage)

以圖像image為圖像創(chuàng)建一個(gè)圖標(biāo)對(duì)象5、圖像圖標(biāo)類圖像圖標(biāo)類ImageIcon5、圖像圖標(biāo)類支持3種圖像格式GIF、JPEG、PNG范例Imageim=(newImageIcon("中國(guó)心.jpg")).getImage();

//創(chuàng)建圖標(biāo)對(duì)象imjfrm.setIconImage(im);

//設(shè)置窗口的顯示圖標(biāo)5、圖像圖標(biāo)類支持3種圖像格式32主要內(nèi)容一、圖形用戶界面二、圖形用戶界面工具包(Swing)三、創(chuàng)建組件四、布局管理器32主要內(nèi)容一、圖形用戶界面1、標(biāo)簽JLabel標(biāo)簽是用戶不能修改只能查看其內(nèi)容的文本顯示區(qū)域,它起到信息說(shuō)明的作用JLabel的構(gòu)造方法publicJLabel()publicJLabel(Stringtext)publicJLabel(Iconimage)publicJLabel(Stringtext,inthorizontalAlignment)創(chuàng)建具有指定文本、指定對(duì)齊方式的圖標(biāo)對(duì)象publicJLabel(Iconimage,inthorizontalAlignment)創(chuàng)建具有指定圖像、指定對(duì)齊方式的圖標(biāo)對(duì)象publicJLabel(Stringtext,Iconicon,inthorizontalAlignment)1、標(biāo)簽JLabel標(biāo)簽是用戶不能修改只能查看其內(nèi)容的文本顯1、標(biāo)簽JLabel對(duì)齊方式參數(shù)horizontalAlignment常見(jiàn)取值可以單獨(dú)設(shè)置也可以在創(chuàng)建時(shí)聲明一般有JLabel.LEFT,JLabel.RIGHT,JLabel.CENTERJLabeljlab=newJLabel("我是一個(gè)標(biāo)簽",JLabel.CENTER);垂直對(duì)齊方式的設(shè)置publicvoidsetVerticalAlignment(intalignment)設(shè)置標(biāo)簽文字與圖標(biāo)沿垂直方向的對(duì)齊方式。取值有:JLabel.TOP,JLabel.BOTTOM,JLabel.CENTER1、標(biāo)簽JLabel對(duì)齊方式參數(shù)horizontalAlig1、標(biāo)簽JLabel位置與大小的設(shè)置jlab.setLocation(80,60);jlab.setSize(130,30);6080130301、標(biāo)簽JLabel位置與大小的設(shè)置6080130301、標(biāo)簽JLabel在框架窗口中加入標(biāo)簽,并設(shè)置框架的底色及標(biāo)簽上文字的顏色和字體。importjava.awt.*;importjavax.swing.*;publicclassApp12_3{publicstaticvoidmain(String[]args){JFramejfrm=newJFrame("標(biāo)簽類窗口");JLabeljlab=newJLabel("我是一個(gè)標(biāo)簽",JLabel.CENTER);//創(chuàng)建標(biāo)簽對(duì)象jfrm.setLayout(null);//取消頁(yè)面設(shè)置jfrm.setSize(300,200);

//設(shè)置窗口的大小

jfrm.setBackground(Color.PINK);//設(shè)窗口底色為粉紅色,不能正確顯示,為什么?

jlab.setOpaque(true);//設(shè)置標(biāo)簽為不透明的jlab.setBackground(Color.YELLOW);//設(shè)置標(biāo)簽底色為黃色jlab.setForeground(Color.RED);//設(shè)置標(biāo)的前景色為紅色jlab.setLocation(80,60);jlab.setSize(130,30);Fontfnt=newFont("Serief",Font.BOLD+Font.ITALIC,20);//創(chuàng)建字體對(duì)象jlab.setFont(fnt);//用創(chuàng)建的字體對(duì)象設(shè)置標(biāo)簽上的字體jfrm.add(jlab);jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jfrm.setVisible(true);}}jfrm.setBackground(Color.PINK);Containerc=jfrm.getContentPane();//獲取jfrm的內(nèi)容窗格c.setBackground(Color.PINK);

//設(shè)置內(nèi)容窗格的背景色為粉紅色JFrame框架一旦被創(chuàng)建,其中已經(jīng)包含了一個(gè)內(nèi)容窗格,設(shè)置的JFrame背景色,仍會(huì)被內(nèi)容窗格所覆蓋。解決方法:內(nèi)容窗格利用getContentPane()方法獲取Container類的對(duì)象。1、標(biāo)簽JLabel在框架窗口中加入標(biāo)簽,并設(shè)置框架的底色及2、命令按鈕JButton(javax.swing)JButton:用戶用鼠標(biāo)單擊它來(lái)控制程序運(yùn)行的流程。JButton創(chuàng)建后通過(guò)容器的add()將其放入容器。JButton類的構(gòu)造方法publicJButton():創(chuàng)建一個(gè)沒(méi)有文字的按鈕publicJButton(Stringlabel)創(chuàng)建一個(gè)以label為文字的按鈕publicJButton(Iconicon):創(chuàng)建一帶圖標(biāo)icon的按鈕publicJButton(Stringtext,Iconicon)創(chuàng)建一個(gè)文字為text,圖標(biāo)為icon的按鈕范例:

JButtonbtn=newJButton("燈籠",ic);

2、命令按鈕JButton(javax.swing)J2、命令按鈕JButton(javax.swing)按鈕大小與位置的設(shè)置btn.setBounds(50,45,100,40);

455010040

JButtonbtn=newJButton("燈籠",ic);

ImageIconic=newImageIcon("pic/中國(guó)燈籠.jpg");2、命令按鈕JButton(javax.swing)按2、命令按鈕JButton(javax.swing)JButton類的方法大部分繼承自父類javax.swing.AbstractButton.publicabstractclassAbstractButton

extendsJComponentimplementsItemSelectable,SwingConstants{publicStringgetText()publicvoidsetText(Stringtext)

publicbooleanisSelected()//選中狀態(tài)

publicvoidsetSelected(booleanb)//選中狀態(tài)

publicvoidsetEnabled(booleanb)//有效狀態(tài)

publicObject[]getSelectedObjects()//選中對(duì)象數(shù)組

publicvoidaddActionListener(ActionListenerl)//單擊事件

publicvoidremoveActionListener(ActionListenerl)}2、命令按鈕JButton(javax.swing)J2、命令按鈕JButton(javax.swing)用戶用鼠標(biāo)單擊它來(lái)控制程序運(yùn)行的流程。JButton創(chuàng)建后通過(guò)容器的add()將其放入容器。舉例:在框架窗口中加入按鈕。2、命令按鈕JButton(javax.swing)用2、命令按鈕JButton(javax.swing)importjavax.swing.*;publicclassApp12_5extendsJFrame//指定App12_5繼承自JFrame類{publicstaticvoidmain(String[]args){

App12_5jfrm=newApp12_5();//用App12_5類創(chuàng)建框架對(duì)象jfrmjfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);ImageIconic=newImageIcon("中國(guó)燈籠.jpg");//創(chuàng)建圖標(biāo)對(duì)象ic

JButtonbtn=newJButton("燈籠",ic);//創(chuàng)建具有文字和圖標(biāo)按鈕對(duì)象

jfrm.setLayout(null);//取消頁(yè)面設(shè)置

jfrm.setSize(200,180);jfrm.setTitle("按鈕類窗口");

btn.setBounds(50,45,100,40);//設(shè)置按鈕的位置與大小

btn.setToolTipText("我是按鈕");

jfrm.add(btn);jfrm.setVisible(true);}}2、命令按鈕JButton(javax.swing)i3、復(fù)選框JCheck和單選按鈕JRadioButtonJCheckBox和JRadioButton(javax.swing)JCheckBox可以單獨(dú)使用而單選按鈕必須配合javax.swing包中的ButtonGroup類將其組成單選按鈕組來(lái)使用。舉例:在框架窗口內(nèi)加入復(fù)選框和單選按鈕組。3、復(fù)選框JCheck和單選按鈕JRadioButtonJC3、復(fù)選框JCheck和單選按鈕JRadioButton復(fù)選框JCheck的構(gòu)造方法publicJCheckBox()publicJCheckBox(Stringtext)publicJCheckBox(Stringtext,booleanselected)例如:JCheckBoxjchk1=newJCheckBox("粗體",true);//初始狀態(tài)為選中3、復(fù)選框JCheck和單選按鈕JRadioButton復(fù)選3、復(fù)選框JCheck和單選按鈕JRadioButtonJRadioButton單選按鈕的構(gòu)造方法publicJRadioButton()publicJRadioButton(Stringtext)publicJRadioButton(Stringtext,booleanselected)例如:JRadioButtonjrb2=newJRadioButton("綠色",true);

ButtonGroup按鈕組類publicButtonGroup()publicvoidadd(AbstractButtonb) //添加按鈕grp.add(jrb1);//將jrb1加入到單選按鈕組grp中使之成為單選按鈕publicvoidremove(AbstractButtonb)3、復(fù)選框JCheck和單選按鈕JRadioButtonJR3、復(fù)選框JCheck和單選按鈕JRadioButtonimportjavax.swing.*;publicclassApp12_6extendsJFrame{staticJFramefrm=newJFrame("復(fù)選框和單選按鈕組選取框");staticJCheckBoxjchk1=newJCheckBox("粗體",true);//初始為選中

staticJCheckBoxjchk2=newJCheckBox("斜體");staticJCheckBoxjchk3=newJCheckBox("下劃線");staticJRadioButtonjrb1=newJRadioButton("紅色");staticJRadioButtonjrb2=newJRadioButton("綠色",true);staticJRadioButtonjrb3=newJRadioButton("藍(lán)色");

3、復(fù)選框JCheck和單選按鈕JRadioButtonim3、復(fù)選框JCheck和單選按鈕JRadioButtonpublicstaticvoidmain(String[]args){ButtonGroupgrp=newButtonGroup();//創(chuàng)建一個(gè)單選按鈕組對(duì)象

frm.setLocation(200,150);frm.setSize(300,220);frm.setLayout(null);

jchk1.setBounds(20,20,150,20);jchk2.setBounds(20,40,150,20);jchk3.setBounds(20,60,150,20);jrb1.setBounds(20,80,150,20);//設(shè)置單選按鈕jrb1的位置和大小

jrb2.setBounds(20,100,150,20);jrb3.setBounds(20,120,150,20);

grp.add(jrb1);//將jrb1加入到單選按鈕組grp中使之成為單選按鈕

grp.add(jrb2);grp.add(jrb3);frm.add(jchk1);frm.add(jchk2);frm.add(jchk3);frm.add(jrb1);frm.add(jrb2);frm.add(jrb3);frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frm.setVisible(true);}}3、復(fù)選框JCheck和單選按鈕JRadioButtonpu4、文本編輯組件與滾動(dòng)窗格文本編輯組件單行文本編輯組件JTextField,也稱文本框密碼文本行組件JPasswordField,主要用于輸入密碼文本區(qū)組件JTextArea,文本區(qū),實(shí)現(xiàn)多行文本的輸入。

JTextArea

通常與滾動(dòng)窗格組件JScrollPane一起使用4、文本編輯組件與滾動(dòng)窗格文本編輯組件4、文本編輯組件與滾動(dòng)窗格文本行組件JTextField的構(gòu)造方法publicJTextField()publicJTextField(intcolumns)創(chuàng)建并設(shè)置文本框的寬度可以容納columns個(gè)字符publicJTextField(Stringtext)創(chuàng)建并以text為默認(rèn)文本的文本框publicJTextField(Stringtext,intcolumns)例如:JTextFieldjtf=newJTextField("該文本框不可編輯",30);JPasswordField類是JTextField的子類。JPasswordFieldjpf=newJPasswordField("太空人3號(hào)",30);4、文本編輯組件與滾動(dòng)窗格文本行組件JTextField的構(gòu)4、文本編輯組件與滾動(dòng)窗格文本區(qū)組件JTextAreapublicclassJTextAreaextendsJTextComponent

{publicJTextArea()publicJTextArea(Stringtext)//text指定初始顯示文本

publicJTextArea(introws,intcolumns)//指定行數(shù)和列數(shù)

publicJTextArea(Stringtext,introws,intcolumns)}例如:

JTextAreajta=newJTextArea("您好",10,30);//創(chuàng)建10行30列的文本區(qū)對(duì)象jtapublicabstractclassJTextComponent

extendsJComponentimplementsScrollable,Accessible{publicStringgetText() //獲得文本行中的內(nèi)容

publicvoidsetText(Stringt)//設(shè)置文本行中的內(nèi)容

publicvoidsetEditable(booleanb)//設(shè)置文本行是否可編輯

publicbooleanisEditable()//判斷文本行是否可編輯}4、文本編輯組件與滾動(dòng)窗格文本區(qū)組件JTextAreapub4、文本編輯組件與滾動(dòng)窗格在框架窗口中加入文本編輯組件,并利用滾動(dòng)窗格實(shí)現(xiàn)文本區(qū)的滾動(dòng)功能。importjavax.swing.*;publicclassApp12_7extendsJFrame{

JTextFieldjtf=newJTextField("該文本框不可編輯",30);

staticJPasswordFieldjpf=newJPasswordField("太空人3號(hào)",30);publicApp12_7(Stringstr)//構(gòu)造方法

{super(str);//調(diào)用父類JFrame的構(gòu)造方法

jtf.setBounds(20,40,140,20);

jtf.setEditable(false);//設(shè)置文本行對(duì)象jtf為不可編輯

add(jtf);//將文本行對(duì)象jtf加入到窗口中

}4、文本編輯組件與滾動(dòng)窗格在框架窗口中加入文本編輯組件,并利4、文本編輯組件與滾動(dòng)窗格publicstaticvoidmain(String[]args){App12_7frm=newApp12_7("文本編輯功能窗口");//調(diào)用App12_7類構(gòu)造方法

JTextAreajta=newJTextArea("您好",10,30);//創(chuàng)建10行30列的文本區(qū)對(duì)象jta

JScrollPanejsp=newJScrollPane(jta);//顯示內(nèi)容是文本區(qū)對(duì)象jfafrm.setLocation(200,150);frm.setSize(240,220);frm.setLayout(null);//取消頁(yè)面設(shè)置

jsp.setBounds(20,70,160,100);//設(shè)置滾動(dòng)窗格的大小

jpf.setBounds(20,10,140,20);frm.add(jpf);frm.add(jsp);//將滾動(dòng)窗格對(duì)象jsp放入到窗口frm中

char[]password=jpf.getPassword();//獲取密碼框中的內(nèi)容

Stringstr=newString(password);//將密碼轉(zhuǎn)換成文本

System.out.println("今天口令是:"+password+"轉(zhuǎn)換成文本后是:"+str);

//在Dos命令行輸出

frm.setVisible(true);frm.setResizable(false);//設(shè)置窗口不可改變大小

frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}4、文本編輯組件與滾動(dòng)窗格publicstaticvo5、選項(xiàng)窗格選項(xiàng)窗格JTabbedPaneJTabbedPane組件中允許包含多個(gè)選項(xiàng)卡。5、選項(xiàng)窗格選項(xiàng)窗格JTabbedPane5、選項(xiàng)窗格JTabbedPane構(gòu)造方法JTabbedPane():建立一個(gè)空的JTabbedPane對(duì)象。JTabbedPane(inttabPlacement):建立一個(gè)空的JTabbedPane對(duì)象,標(biāo)題顯示位置參數(shù)tabPlacement指定擺放位置取值:TOP,BOTTOM,LEFT,RIGHT.JTabbedPane(inttabPlacement,inttabLayoutPolicy)增加布局策略參數(shù)tabLayoutPolicy取值:WARP_TAB_LAYOUT或SCROLL_TAB_LAYOUT5、選項(xiàng)窗格JTabbedPane構(gòu)造方法在窗口中放置一個(gè)選項(xiàng)窗格,并在選項(xiàng)窗格中添加若干個(gè)選項(xiàng)卡,每個(gè)選項(xiàng)卡中放置一個(gè)帶有圖形的標(biāo)簽組件。5、選項(xiàng)窗格importjavax.swing.*;publicclassApp12_8extendsJFrame{JTabbedPanejtab=newJTabbedPane(JTabbedPane.TOP);//創(chuàng)建選項(xiàng)窗格,選項(xiàng)卡標(biāo)題在上方

publicApp12_8(){

JLabel[]lab=newJLabel[6];//聲明JLabel數(shù)組

Iconpic;//聲明圖片變量picStringtitle;//聲明選卡標(biāo)題變量

for(inti=1;i<=5;i++){pic=newImageIcon("t"+i+".jpg");//創(chuàng)建圖片對(duì)象piclab[i]=newJLabel();lab[i].setIcon(pic);//設(shè)置標(biāo)簽對(duì)象lab[i]上的圖標(biāo)

title="第"+i+"頁(yè)";//設(shè)置選項(xiàng)卡的標(biāo)題

jtab.add(title,lab[i]);//設(shè)置選項(xiàng)卡標(biāo)題為title,并將標(biāo)簽lab[i]添加到選項(xiàng)卡jtab中

}this.add(jtab);//將選項(xiàng)卡對(duì)象jtab添加到窗口中

}

publicstaticvoidmain(String[]args){

App12_8frm=newApp12_8();

frm.setTitle("選項(xiàng)卡的應(yīng)用");frm.setSize(300,300);frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frm.setVisible(true);}}在窗口中放置一個(gè)選項(xiàng)窗格,并在選項(xiàng)窗格中添加若干個(gè)選項(xiàng)卡,每55主要內(nèi)容一、圖形用戶界面二、圖形用戶界面工具包(Swing)三、創(chuàng)建組件四、布局管理器55主要內(nèi)容一、圖形用戶界面56布局管理在前面的例子中,基本組件僅僅被簡(jiǎn)單地加入容器如果程序需要進(jìn)一步考慮如何設(shè)計(jì)和控制這些組件在容器中的位置和相互關(guān)系,就需要使用布局管理01243540153456布局管理在前面的例子中,基本組件僅僅被簡(jiǎn)單地加入容器01布局管理布局管理即頁(yè)面管理。頁(yè)面管理(layout):指窗口上的組件遵循一定的規(guī)則來(lái)排列,并會(huì)隨著窗口大小的變化來(lái)改變組件大小與位置的一種布局方式。自動(dòng)布局當(dāng)為一個(gè)容器指定一個(gè)布局管理器后,將一個(gè)組件加入該容器中時(shí),布局管理器就能自動(dòng)設(shè)置該組件的大小和位置。Java語(yǔ)言提供了多種布局管理器,每個(gè)布局管理器對(duì)應(yīng)一種布局策略,布局管理布局管理即頁(yè)面管理。布局管理java.awt包中共定義了五種布局管理器分別是:流式布局管理器FlowLayout邊界式布局管理器BorderLayout卡片式布局管理器CardLayout網(wǎng)格式布局管理器GridLayout網(wǎng)袋布局管理器GridBagLayout。javax.swing包中主要提供了盒式布局管理器BoxLayout重疊布局管理器OverlayLayout彈簧布局管理器SpringLayout布局管理java.awt包中共定義了五種布局管理器分別是:1、流式布局管理器FlowLayout布局策略組件按照加入容器的先后順序從左向右排列;一行排滿后就自動(dòng)地轉(zhuǎn)到下一行繼續(xù)從左向右排列;每一行中的組件都居中排列。FlowLayout布局管理器是Panel、Applet和JPanel默認(rèn)的布局管理方式。布局管理器的容器中的組件大小不隨容器大小的變化而改變.1、流式布局管理器FlowLayout布局策略1、流式布局管理器FlowLayout類構(gòu)造方法publicFlowLayout()創(chuàng)建流式布局管理器,容器中對(duì)象居中對(duì)齊,對(duì)象水平和垂直間距均默認(rèn)為5個(gè)像素;publicFlowLayout(intalign)創(chuàng)建使用指定對(duì)齊方式的流式布局管理器,其他同上publicFlowLayout(intalign,inthgap,intvgap)創(chuàng)建具有指定間距的流式布局管理器,其余同上hgap:組件間垂直間距。vgap:組件間水平間距FlowLayout.LEFT每行的組件靠左對(duì)齊FlowLayout.CENTER每行的組件居中排列FlowLayout.RIGHT每行的組件靠右對(duì)齊1、流式布局管理器FlowLayout類構(gòu)造方法FlowLa1、流式布局管理器效果范例1、流式布局管理器效果范例1、流式布局管理器流式布局管理器FlowLayout類的應(yīng)用importjava.awt.*;importjavax.swing.*;publicclassApp12_9extendsJFrame{

staticJFramefrm=newJFrame("流式布局設(shè)置管理器FlowLayout");publicstaticvoidmain(String[]args){

FlowLayoutflow=newFlowLayout(FlowLayout.CENTER,5,10);

JButtonbut=newJButton("按鈕");JLabellab=newJLabel("我是一個(gè)標(biāo)簽");frm.setLayout(flow);//設(shè)置頁(yè)面布局為流式布局方式

frm.setSize(260,150);

frm.add(but);//添加命令按鈕組件

frm.add(lab);//添加標(biāo)簽組件

frm.add(newJTextField("流式布局策略FlowLayout",18));//添加文本框組件

frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frm.setVisible(true);}}1、流式布局管理器流式布局管理器FlowLayout類的應(yīng)用2、邊界式布局管理器BorderLayoutBorderLayout將顯示區(qū)域按地理方位分為東(East)、西(West)、南(South)、北(North)、中(Center)五個(gè)區(qū)域。將組件加入容器中,若沒(méi)有指定區(qū)域,則默認(rèn)為中間;若將組件加入到已被占用的位置,將會(huì)取代原先的組件。這是JFrame、JApplet、JDialog默認(rèn)布局管理器2、邊界式布局管理器BorderLayoutBorderLa2、邊界式布局管理器BorderLayoutBorderLayout類的構(gòu)造方法publicBorderLayout()創(chuàng)建BorerLayout布局管理器,容器間各對(duì)象沒(méi)有間隔publicBorderLayout(inthgap,intvgap)各組件間水平間隔為hgap個(gè)像素,垂直間隔為vgap個(gè)像素舉例:BorderLayoutborder=newBorderLayout(5,10);frm.setLayout(border);//設(shè)置頁(yè)面布局為邊界式布局方式2、邊界式布局管理器BorderLayoutBorderLa2、邊界式布局管理器BorderLayout利用add()添加組件時(shí)必須指出組件的擺放位置。BorderLayout類中代表擺放區(qū)域的數(shù)據(jù)成員。BorderLayout.EAST:

將組件放在容器的右方BorderLayout.WEST:

將組件放在容器的左方BorderLayout.SOUTH:將組件放在容器的下方BorderLayout.NORTH:將組件放在容器的上方BorderLayout.CENTER:

將組件放在容器的中央2、邊界式布局管理器BorderLayout利用add()添2、邊界式布局管理器BorderLayoutfrm.add(newJButton(“上北”),BorderLayout.NORTH);Add為祖先類Container的add方法格式為:voidadd(Componentcomp,Objectconstraints)第一個(gè)參數(shù)為組件,第二個(gè)參數(shù)為限制條件如果缺省限制條件,默認(rèn)為BorderLayout.CENTER:2、邊界式布局管理器BorderLayoutfrm.add2、邊界式布局管理器BorderLayout邊界式布局管理器BorderLayout類的應(yīng)用。importjava.awt.*;importjavax.swing.*;publicclassApp12_10{staticJFramefrm=newJFrame("邊界式布局管理器BorderLayout");publicstaticvoidmain(String[]args){

BorderLayoutborder=newBorderLayout(5,10);frm.setLayout(border);//設(shè)置頁(yè)面布局為邊界式布局方式

frm.setSize(330,200);frm.add(newJButton("上北"),BorderLayout.NORTH);frm.add(newJButton("下南"),BorderLayout.SOUTH);frm.add(newJButton("左西"),BorderLayout.WEST);frm.add(newJButton("右東"),BorderLayout.EAST);frm.add(newJButton("中央"),BorderLayout.CENTER);frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frm.setVisible(true);}}2、邊界式布局管理器BorderLayout邊界式布局管理器3、網(wǎng)格式布局管理器GridLayout規(guī)則:將容器的空間劃分成若干行與列的網(wǎng)格形式,在容器上添加組件時(shí),它們會(huì)按從左到右、從上到下的順序在網(wǎng)格中均勻排列。通過(guò)行列、間距來(lái)用網(wǎng)格分割,把組件放入網(wǎng)格中,先行后列擺放組件容器中各組件的寬度相同,所有組件的高度也相同,當(dāng)容器尺寸發(fā)生變化時(shí),各組件的相對(duì)位置不變。網(wǎng)格的行數(shù)和列數(shù)可以在創(chuàng)建GridLayout對(duì)象的構(gòu)造方法里指定。若控件數(shù)正好是行×列,則按行、列數(shù)放置;若控件數(shù)超過(guò)了行×列,則先滿足行。3、網(wǎng)格式布局管理器GridLayout規(guī)則:將容器的空間劃3、網(wǎng)格式布局管理器GridLayoutGridLayout類構(gòu)造方法publicGridLayout()創(chuàng)建一個(gè)網(wǎng)格布局管理器,使用默認(rèn)值,每行一個(gè)組件;publicGridLayout(introws,intcols)創(chuàng)建一個(gè)包含rows行cols列的網(wǎng)格布局管理器publicGridLayout(introws,intcols,inthgap,intvagp)創(chuàng)建一個(gè)包含rows行cols列的網(wǎng)格布局管理器水平間距為hgap像素,垂直間距為vgap個(gè)像素3、網(wǎng)格式布局管理器GridLayoutGridLayout3、網(wǎng)格式布局管理器GridLayout利用GridLayout設(shè)計(jì)一個(gè)簡(jiǎn)單的計(jì)算器。本例的思想是創(chuàng)建兩個(gè)容器,一個(gè)是面板,另一個(gè)是窗口,首先把命令按鈕擺放在面板中,然后再把標(biāo)簽和面板放入窗口中。importjava.awt.*;importjavax.swing.*;publicclassApp12_11extendsJFrame{staticJPanelpan=newJPanel();//創(chuàng)建一個(gè)面板對(duì)象panstaticJTextFieldtf=newJTextField("0.");staticJButton[]b=newJButton[10];//聲明按鈕數(shù)組bstaticJButtonbp,ba,bs,bm,bd,be;

publicstaticvoidmain(String[]args){App12_11frm=newApp12_11();

for(inti=0;i<=9;i++)b[i]=newJButton(""+i);//創(chuàng)建按鈕對(duì)象并設(shè)置其上顯示的數(shù)字

bp=newJButton(".");ba=newJButton("+");bs=newJButton("-");bm=newJButton("*");bd=newJButton("/");be=newJButton("=");frm.setTitle("網(wǎng)格式布局管理器GridLayout");frm.setLayout(null);//取消窗口的頁(yè)面設(shè)置

frm.setSize(300,220);frm.setResizable(false);//設(shè)置窗口的大小為不可改變

GridLayoutgrid=newGridLayout(4,4);//創(chuàng)建4行4列的頁(yè)面配置

pan.setLayout(grid);//將面板對(duì)象pan的布局策略設(shè)為網(wǎng)格布局方式

tf.setBounds(35,15,200,25);pan.setBounds(35,50,200,120);tf.setBackground(Color.CYAN);//設(shè)置文本框的顏色

tf.setHorizontalAlignment(JTextField.RIGHT);//設(shè)置文本框中的文字右對(duì)齊3、網(wǎng)格式布局管理器GridLayout利用GridLayo3、網(wǎng)格式布局管理器GridLayoutpan.add(b[7]);pan.add(b[8]);pan.add(b[9]);pan.add(bd);pan.add(b[4]);pan.add(b[5]);pan.add(b[6]);pan.add(bm);pan.add(b[1]);pan.add(b[2]);pan.add(b[3]);pan.add(bs);pan.add(b[0]);pan.add(bp);pan.add(be);pan.add(ba);frm.add(tf);frm.add(pan);frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frm.setVisible(true);}}3、網(wǎng)格式布局管理器GridLayoutpan.ad4、卡片式布局管理器CardLayout布局方式把“窗口容器”中的所有組件如同堆疊起來(lái)的一付“撲克牌”,每次只能顯示最上面的一張一樣,這個(gè)被顯示的組件將占據(jù)所有的容器空間。該布局方式每次僅有一個(gè)組件是可見(jiàn)的。使用add()往窗口容器中加入組件時(shí)應(yīng)為每個(gè)組件賦予一個(gè)名字。依據(jù)這個(gè)名字利用CardLayout類所提供的方法來(lái)控制其他組件是否顯示。4、卡片式布局管理器CardLayout布局方式4、卡片式布局管理器CardLayoutCardLayout構(gòu)造方法publicCardLayout()創(chuàng)建CardLayout,容器中對(duì)象沒(méi)有間距CardLayout(inthgap,intvgap)創(chuàng)建CardLayout布局管理器,設(shè)置組件與容器邊緣的水平間距為hg

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論