實驗4-建立圖形用戶界面_第1頁
實驗4-建立圖形用戶界面_第2頁
實驗4-建立圖形用戶界面_第3頁
實驗4-建立圖形用戶界面_第4頁
實驗4-建立圖形用戶界面_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

實驗7建立圖形用戶界面一、實驗目的了解圖形用戶界面基本組件窗口、按鈕、文本框、選擇框、滾動條等的使用方法,了解如何使用布局管理器對組件進行管理,以及如何使用Java的事件處理機制。二、實驗要求1.理解Java的事件處理機制,掌握為不同組件編寫事件處理程序的方法。2.掌握編寫獨立運行的窗口界面的方法。3.了解JavaSwing組件的使用方法。4.了解對話框的使用方法。三、實驗內(nèi)容(1)建立獨立運行的窗口界面并使用匿名類最常使用的包含組件的容器是窗口,在Java中窗口由Frame類生成。創(chuàng)建一個窗口界面程序功能:創(chuàng)建一個具有關閉功能的空白窗口。編寫KY7_5_W.java程序文件,源代碼如下。importjava.awt.*;importjava.awt.event.*;publicclassKY7_5_W{publicstaticvoidmain(String[]args){newKY7_5_W();}KY7_5_W(){Framef=newFrame("初始窗口");//創(chuàng)建窗口對象f.setSize(350,200);//設置窗口大小f.setVisible(true);//設置窗口是可視的f.addWindowListener(newWindowAdapter(){//為窗口添加窗口事件適配器publicvoidwindowClosing(WindowEvente){//關閉窗口事件的方法System.exit(0);}};}}編譯并運行程序在窗口中添加組件程序功能:在窗口中添加組件。編寫KY7_6.java程序文件,源代碼如下。importjava.awt.*;importjava.awt.event.*;publicclassKY7_6extendsFrameimplementsActionListener{Buttonbtn1,btn2;TextFieldf,tf1,tf2;TextAreaArea;KY7_6(){super("添加組件的窗口");addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});setSize(350,250);//設置窗口大小setLocation(200,200);//設置窗口顯示位置setFont(newFont("Arial",Font.PLAIN,12));//設置字體setLayout(newFlowLayout());Area=newTextArea(6,40);tf1=newTextField(10);tf2=newTextField(10);btn1=newButton("顯示");btn2=newButton("退出");f=newTextField(20);add(Area);add(newLabel("用戶名"));add(tf1);add(newLabel("電話"));add(tf2);add(f);add(btn1);add(btn2);tf1.addActionListener(this);tf2.addActionListener(this);btn1.addActionListener(this);btn2.addActionListener(this);show();}publicstaticvoidmain(Stringargs[]){newKY7_6();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==btn1)f.setText("你按下了“"+e.getActionCommand()+"”按鈕");if(e.getSource()==tf1)Area.append("用戶名:"+tf1.getText()+"\n");if(e.getSource()==tf2)Area.append("電話:"+tf2.getText()+"\n");if(e.getSource()==btn2){for(inti=0;i<100000000;i++);System.exit(0);}});button1=newJButton(newImageIcon("image/PreviousArrow.gif"));button2=newJButton(newImageIcon("image/go.GIF"));button3=newJButton(newImageIcon("image/NextArrow.gif"));button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);toolBar=newJToolBar();toolBar.add(button1);toolBar.add(button2);toolBar.add(button3);textArea=newJTextArea(6,30);scrollPane=newJScrollPane(textArea);panel=newJPanel();setContentPane(panel);panel.setLayout(newBorderLayout());panel.setPreferredSize(newDimension(300,150));panel.add(toolBar,BorderLayout.NORTH);panel.add(scrollPane,BorderLayout.CENTER);pack();show();}publicvoidactionPerformed(ActionEvente){Strings="";if(e.getSource()==button1)s="左按鈕被單擊\n";elseif(e.getSource()==button2)s="中按鈕被單擊\n";elseif(e.getSource()==button3)s="右按鈕被單擊\n";textArea.append(s);}}編譯KY7_9.java。運行KY7_9.class(3)使用自定義對話框與內(nèi)部類(可選)對話框是GUI中很常見的窗口對象,有著廣泛的應用。對話框和普通窗口最大的不同就是對話框是依附在某個窗口上,一旦它所依附的窗口關閉了,對話框也要隨著關閉。Java提供了Dialog類用于制作自定義對話框,當需要改變一些數(shù)據(jù)或需要一個提示窗口時可使用自定義對話框。程序功能:創(chuàng)建一個帶有文本區(qū)及“對話框”按鈕的父窗口,單擊“對話框”按鈕可打開一個自定義對話框,從中可以定義行和列的數(shù)值,關閉對話框其設置的設置會顯示在父窗口的文本區(qū)中。編寫KY7_10.java程序文件,源代碼如下。importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassKY6_10extendsJFrameimplementsActionListener{introw=10,col=40;JPanelp1=newJPanel(),p2=newJPanel();JTextAreata=newJTextArea("文本區(qū)行數(shù):"+row+"列數(shù):"+col,row,col);JScrollPanescrollPane=newJScrollPane(ta);Buttonexit=newButton("關閉");Buttondialog=newButton("對話框");JPanelpanel=newJPanel();KY7_10(){setContentPane(panel);setTitle("帶有對話框的父窗口");panel.setPreferredSize(newDimension(500,200));panel.setLayout(newBorderLayout());panel.add("Center",p1);panel.add("South",p2);p1.add(scrollPane);p2.add(exit);p2.add(dialog);exit.addActionListener(this);dialog.addActionListener(this);pack();show();//setVisible(true);}publicstaticvoidmain(Stringargs[]){newKY7_10();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==exit)System.exit(0);else{MyDialogdlg=newMyDialog(this,true);dlg.show();}}classMyDialogextendsDialogimplementsActionListener{Labellabel1=newLabel("請輸入行數(shù)");Labellabel2=newLabel("請輸入列數(shù)");TextFieldrows=newTextField(50);TextFieldcolumns=newTextField(50);ButtonOK=newButton("確定");ButtonCancel=newButton("取消");MyDialog(KY7_10parent,booleanmodal){super(parent,modal);setTitle("自定義對話框");setSize(260,140);setResizable(false);setLayout(null);add(label1);add(label2);label1.setBounds(50,30,65,20);label2.setBounds(50,60,65,20);add(rows);add(columns);rows.setText(Integer.toString(ta.getRows()));columns.setText(Integer.toString(ta.getColumns()));rows.setBounds(120,30,90,20);columns.setBounds(120,60,90,20);add(OK);add(Cancel);OK.setBounds(60,100,60,25);Cancel.setBounds(140,100,60,25);OK.addActionListener(this);Cancel.addActionListener(this);}publ

溫馨提示

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

評論

0/150

提交評論