《Java程序設(shè)計基礎(chǔ)》第13章 處理圖形界面組件事件_第1頁
《Java程序設(shè)計基礎(chǔ)》第13章 處理圖形界面組件事件_第2頁
《Java程序設(shè)計基礎(chǔ)》第13章 處理圖形界面組件事件_第3頁
《Java程序設(shè)計基礎(chǔ)》第13章 處理圖形界面組件事件_第4頁
《Java程序設(shè)計基礎(chǔ)》第13章 處理圖形界面組件事件_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第13章處理圖形界面組件組件主講:XXX復(fù)習(xí)提問

1、說出8種窗口組件。

2、框架和面板有什么不同?

3、FlowLayout是什么?有哪些主要特點?

本章提要主要知識點:JDK事件處理模型;事件監(jiān)聽器;事件適配器;AWT和swing主要組件學(xué)習(xí)目標(biāo):掌握AWT的功能,主要組件的應(yīng)用方法,窗口的布局管理方法,窗口事件處理過程,能夠運用AWT和swing組件設(shè)計圖形用戶界面

。13.1AWT事件處理過程13.1.1JDK事件處理模型事件處理模型:是指事件的處理過程。jdk1.1的事件模型將事件源(事件產(chǎn)生處的AWT組件)和監(jiān)聽器(對事件作出具體動作的實體)分開。將事件處理委托給外部的實體。一般情況下,AWT組件都不處理自己的事件,這種模型叫做事件的授權(quán)處理模型(DelegationModel)。

13.1AWT事件處理過程事件處理模型示例:importjava.awt.*;importjava.awt.event.*;publicclassTestButton{

publicstaticvoidmain(String

args[]){

Framef=newFrame("這是一個窗口");

Buttonb=newButton("請按這里!");

//向按鈕注冊事件監(jiān)聽器,監(jiān)聽ActionEvent事件。

b.addActionListener(new

ButtonHandler());

f.setLayout(new

FlowLayout());

f.add(b);

f.setSize(200,100);f.setVisible(true);}}classButtonHandlerimplementsActionListener{//定義事件監(jiān)聽器類

publicvoidactionPerformed(ActionEvente){//實現(xiàn)接口中的特定方法

System.out.println("您單擊了按鈕");}}

13.1AWT事件處理過程在該程序中,向按鈕b注冊事件監(jiān)聽器ButtonHandler的對象,把對按鈕事件的處理集中到ButtonHandler類的對象中,這樣可以把GUI的設(shè)計和事件處理代碼有效的分開,實現(xiàn)模塊化。在這里按鈕是事件源(EventSource),ButtonHandler對象是監(jiān)聽器。當(dāng)按鈕被點擊時,產(chǎn)生一個ActionEvent事件,把生成的事件對象傳遞給已經(jīng)注冊的監(jiān)聽ActionEvent類型事件的監(jiān)聽器ButtonHandler對象。該對象會自動調(diào)用其actionPerformed()方法處理該事件。

13.1AWT事件處理過程原則:當(dāng)事件產(chǎn)生時,該事件被送到產(chǎn)生該事件的組件去處理,而要能夠處理這個事件,該組件必須登記(register)有與該事件有關(guān)的一個或多個被稱為listeners的類,這些類包含了相應(yīng)的方法能接受事件并對事件進(jìn)行處理。1、實現(xiàn)XXXListener接口的類生成的對象為事件監(jiān)聽器。其中XXX指的是事件的類型。在本例中為ActionListiner接口。實現(xiàn)這個接口的類的對象可以作為ActionEvent事件的監(jiān)聽器。一種類型的事件對應(yīng)一種事件監(jiān)聽器。2、事件源通過調(diào)用自己的方法可以注冊特定類型事件監(jiān)聽器。在本例中為addActionListener(ActionListener)。3、事件發(fā)生后,產(chǎn)生表示特定事件的事件對象,事件對象被傳遞給已經(jīng)注冊的事件監(jiān)聽器,調(diào)用監(jiān)聽器中的特定方法處理事件。在本例中ActionEvent事件對象被傳遞給事件監(jiān)聽器ButtonHandler對象,然后調(diào)用其中的actionPerformed()方法完成事件的處理。13.1AWT事件處理過程處理Java的GUI事件需要兩步:1、定義特定事件的事件監(jiān)聽器(類),在其特定方法中編寫處理事件的代碼。2、向事件源注冊事件監(jiān)聽器(add方法)。13.1AWT事件處理過程13.1.2事件監(jiān)聽器

每種事件的類型都有其自己的注冊方法。一般形式為:publicvoidadd事件類型Listener(EvenTypeListenere)

13.1AWT事件處理過程13.1.2事件監(jiān)聽器

1、AWT的事件類型及其監(jiān)聽器(1)WindowEvent窗口事件引發(fā)原因是有關(guān)窗口操作引發(fā)的事件,其事件監(jiān)聽接口是WindowListener。接口方法(全部是抽象方法)包括7個,它們都必須實現(xiàn)。windowActivated(WindowEvent

e)//激活窗口windowClosed(WindowEvent

e)//關(guān)閉窗口后執(zhí)行的動作windowClosing(WindowEvent

e)//利用窗口關(guān)閉框關(guān)閉窗口windowDeactivated(WindowEvent

e)//本窗口成為非活動窗口windowDeiconified(WindowEvent

e)//從最小化恢復(fù)為普通窗口windowIconified(WindowEvent

e)//窗口變?yōu)樽钚』瘓D標(biāo)windowOpened(WindowEvent

e)//當(dāng)窗口首次打開成為可見時13.1AWT事件處理過程13.1.2事件監(jiān)聽器

WindowEvent窗口事件的接口適配器是WindowAdapter,注冊窗口事件的方法是addWindowListener。實現(xiàn)關(guān)閉窗口的一般功能是:publicvoidwindowClosing(WindowEvente){System.exit(0);}13.1AWT事件處理過程(2)ActionEvent活動事件引發(fā)原因:單擊按扭、雙擊列表框中選項、選擇菜單項、文本框中的回車。事件監(jiān)聽接口:ActionListener接口方法:actionPerformed(ActionEvente)組件注冊該事件方法:addActionListener(監(jiān)聽者)13.1AWT事件處理過程(3)TextEvent文本事件引發(fā)原因:文本框或文本區(qū)域內(nèi)容改變事件監(jiān)聽接口:TextListener接口方法:textValueChanged(TextEvent

e)組件注冊該事件方法:addTextListener(監(jiān)聽者)13.1AWT事件處理過程(4)ItemEvent選項事件引發(fā)原因:改變列表框中的選中項、改變復(fù)選框選中狀態(tài)、改變下拉選單的選中項。事件監(jiān)聽接口:ItemListener接口方法:itemStateChanged(ItemEvent

e)組件注冊該事件方法:addItemListener(監(jiān)聽者)13.1AWT事件處理過程(5)AdjustmentEvent調(diào)整事件引發(fā)原因:操作滾動條改變滑塊位置事件監(jiān)聽接口:AdjustmentListener接口方法:adjustmentValueChanged(AdjustmentEvent

e)組件注冊該事件方法:addAdjustmentListener(監(jiān)聽者)13.1AWT事件處理過程(6)KeyEvent鍵盤事件引發(fā)原因有三種:敲完鍵(KEY-TYPED)按下鍵(KEY-PRESSED)釋放鍵(KEY-RELEASE)事件監(jiān)聽接口:KeyListener13.1AWT事件處理過程(6)KeyEvent鍵盤事件接口方法有三種:敲完鍵(KEY-TYPED)按下鍵(KEY-PRESSED)釋放鍵(KEY-RELEASE)事件監(jiān)聽接口:KeyListenerkeyPressed(KeyEvent

e)//鍵已被按下時調(diào)用keyReleased(KeyEvent

e)//鍵已被釋放時調(diào)用keyTyped(KeyEvent

e)//鍵已被敲完時調(diào)用KeyEvent方法:charch=e.getKeyChar();事件監(jiān)聽適配器(抽象類):KeyAdapter組件注冊該事件方法:addKeyListener(監(jiān)聽者)13.1AWT事件處理過程(7)MouseEvent事件引發(fā)原因:鼠標(biāo)作用在一個組件上。鼠標(biāo)事件:鼠標(biāo)鍵按下,鼠標(biāo)鍵抬起,單擊鼠標(biāo),鼠標(biāo)光標(biāo)進(jìn)入一個組件,鼠標(biāo)光標(biāo)離開一個組件。鼠標(biāo)移動事件:鼠標(biāo)移動,鼠標(biāo)拖動。13.1AWT事件處理過程(7)MouseEvent事件鼠標(biāo)事件監(jiān)聽接口1:MouseListener//接受鼠標(biāo)事件該接口方法包括三種:mouseClicked(MouseEvent

e)mouseEntered(MouseEvent

e)//鼠標(biāo)光標(biāo)進(jìn)入一個組件mouseExited(MouseEvent

e)//鼠標(biāo)光標(biāo)離開一個組件鼠標(biāo)事件監(jiān)聽適配器(抽象類):MouseAdapter。13.1AWT事件處理過程(7)MouseEvent事件鼠標(biāo)事件監(jiān)聽接口2:MouseMotionListener//接受鼠標(biāo)移動事件該接口方法:mouseMoved(MouseEvent

e)//鼠標(biāo)光標(biāo)在組件上移動mouseDragged(MouseEvent

e)//用鼠標(biāo)拖動一個組件鼠標(biāo)移動事件監(jiān)聽適配器MouseMotionAdapter組件注冊鼠標(biāo)事件方法:addMouseListener(監(jiān)聽者)組件注冊鼠標(biāo)移動事件方法:addMouseMotionListener(監(jiān)聽者)13.1AWT事件處理過程(7)MouseEvent事件MouseEvent方法:e.getClickCount()//=1單擊=2雙擊Pointe.getPoint()//取鼠標(biāo)光標(biāo)位置int

e.getX()和int

e.getY()//取鼠標(biāo)光標(biāo)位置e.getModifiers()=e.BUTTON1_MASK//鼠標(biāo)左鍵

=e.BUTTON3_MASK//鼠標(biāo)右鍵13.1AWT事件處理過程(8)FocusEvent焦點事件引發(fā)原因:組件獲得焦點組件失去焦點接口方法:focusGained(FocusEvent

e)//組件獲得焦點時調(diào)用focusLost(FocusEvent

e)//組件失去焦點時調(diào)用事件監(jiān)聽接口:FocusListener注冊方法:addFocusListener13.1AWT事件處理過程(9)ComponentEvent組件事件引發(fā)原因:當(dāng)組件移動、改變大小、改變可見性時引發(fā)。事件監(jiān)聽接口:ComponentListener。接口方法:componentHidden(ComponentEvente)//組件隱藏componentMoved(ComponentEvent

e)//組件移動componentResized(ComponentEvent

e)//組件改變大小componentShown(ComponentEvent

e)//組件變?yōu)榭梢娊涌谶m配器:ComponentAdapter。組件注冊該事件方法:addComponentListener。

13.1AWT事件處理過程(10)ContainerEvent容器事件引發(fā)原因:當(dāng)容器內(nèi)增加或移走組件時引發(fā)。事件監(jiān)聽接口:ContainerListener

主要接口方法是:componentAdded(ContainerEvent

e)//容器內(nèi)加入組件componentRemoved(ContainerEvent

e)//從容器中移走組件接口適配器:ContainerAdapter。容器注冊該事件方法:addContainerListener

13.1AWT事件處理過程例1:編程實現(xiàn)單擊按鈕發(fā)出聲音。importjava.awt.*;importjava.awt.event.*;publicclassButtonSoundimplementsActionListener,WindowListener{//類ButtonSound同時實現(xiàn)兩種監(jiān)聽器Framef;Buttonb;publicstaticvoidmain(String

args[]){ButtonSound

bs=newButtonSound();bs.go();}13.1AWT事件處理過程publicvoidgo(){f=newFrame("監(jiān)聽器使用實例");f.addWindowListener(this);//給框架注冊窗口監(jiān)聽器b=newButton("點擊這里發(fā)出聲音");f.add(b);b.addActionListener(this);//給按鈕注冊活動事件監(jiān)聽器f.setVisible(true);f.setSize(300,200);}13.1AWT事件處理過程publicvoidactionPerformed(ActionEvente){Toolkit.getDefaultToolkit().beep();}//發(fā)聲命令publicvoidwindowActivated(WindowEvente){}publicvoidwindowClosed(WindowEvente){}publicvoidwindowDeactivated(WindowEvente){}publicvoidwindowDeiconified(WindowEvente){}publicvoidwindowIconified(WindowEvente){}publicvoidwindowOpened(WindowEvente){}publicvoidwindowClosing(WindowEvente){System.exit(0);}}//主類結(jié)束13.1AWT事件處理過程13.1.3事件適配器

監(jiān)聽器中的抽象方法在程序中都必須實現(xiàn)才可以正常運行,即使內(nèi)容為空也不能省略。為了簡化代碼編寫,Java提供了一個叫做適配器的類。在適配類中系統(tǒng)自動實現(xiàn)了相應(yīng)接口中的全部方法,但內(nèi)容都是空。13.1AWT事件處理過程13.1AWT事件處理過程13.1.3事件適配器如:對于鼠標(biāo)事件,在MouseListener接口中,聲明了如下5個方法,需要逐一實現(xiàn)。MouseClicked(MouseEvent

e)MouseEntered(MouseEvent

e)MouseExited(MouseEvent

e)MouseReleased(MouseEvent

e)MousePressed(MouseEvent

e)

13.1AWT事件處理過程13.1.3事件適配器創(chuàng)建新類時,就不必再實現(xiàn)全部方法了,只要繼承適當(dāng)?shù)倪m配器,并且覆蓋所關(guān)心的事件處理方法即可如:對于MouseAdapter有如下定義----publicabstractclassMouseAdapterimplementsMouseListener{publicvoidmouseClicked(MouseEvente){}publicvoidmouseEntered(MouseEvente){}publicvoidmouseExited(MouseEvente){}publicvoidmouseReleased(MouseEvente){}publicvoidmousePressed(MouseEvente){}}13.1AWT事件處理過程13.1.3事件適配器例2:用適配器實現(xiàn)窗口的關(guān)閉。importjava.awt.*;importjava.awt.event.*;//以下同時注冊適配器和監(jiān)聽器classButtonExampleextendsWindowAdapterimplementsActionListener{Framef;Buttonb;publicstaticvoidmain(Stringargs[]){

ButtonExamplebe=newButtonExample();be.init();}13.1AWT事件處理過程13.1.3事件適配器publicvoidinit(){f=newFrame("適配器例題");b=newButton("按這里有聲音");

b.addActionListener(this);f.add(b,"South");

f.addWindowListener(this);f.setSize(300,300);f.setVisible(true);}13.1AWT事件處理過程13.1.3事件適配器publicvoidactionPerformed(ActionEvente){

Toolkit.getDefaultToolkit().beep();}publicvoidwindowClosing(WindowEvente){System.exit(0);}//只實現(xiàn)了一個抽象方法即可}13.2AWT基本組件13.2.1Label標(biāo)簽

1、構(gòu)造方法Label()Label(String

labeltext)Label(String

labeltext,intalignment)13.2AWT基本組件

13.2.1Label標(biāo)簽2、常用方法publicint

getAlignment()publicStringgetText()publicvoidsetAlignment(intalignment)publicvoidsetText(Stringlabel)13.2AWT基本組件

例1:創(chuàng)建標(biāo)簽并顯示內(nèi)容importjava.awt.*;publicclassLabelDemo{publicstaticvoidmain(String

args[]){Framef;Labell1,l2,l3;f=newFrame("標(biāo)簽示例");

f.setLayout(newGridLayout(3,1,30,30));l1=newLabel("ThisisLabel1");l2=newLabel("ThisisLabel2");l3=newLabel("ThisisLabel3");f.add(l1);f.add(l2);f.add(l3);f.setSize(300,200);f.setVisible(true);}}13.2AWT基本組件

13.2.2Button按鈕構(gòu)造方法:publicButton();publicButton(Stringlabel);常用方法:publicStringgetLabel();publicvoidsetLabel(Stringlabel);

13.2AWT基本組件

例2:按鈕應(yīng)用--建立一個按鈕Example,單擊此按鈕交替顯示文本“您按下了奇數(shù)次按鈕”和“您按下了偶數(shù)次按鈕”

importjava.awt.*;importjava.awt.event.*;classButtonDemoextendsWindowAdapterimplementsActionListener{Framef;Buttonb;Labell;

intflag=0;13.2AWT基本組件

publicstaticvoidmain(String

args[]){

ButtonDemo

bt=newButtonDemo();

bt.init();}publicvoidinit(){f=newFrame("按鈕例題");b=newButton("Example");

b.addActionListener(this);//this代表bt對象

f.add(b,"South");l=newLabel();

f.add(l,"North");

f.addWindowListener(this);f.setSize(300,300);f.setVisible(true);}13.2AWT基本組件

publicvoidactionPerformed(ActionEvente){Strings1="您按下了奇數(shù)次按鈕";Strings2="您按下了偶數(shù)次按鈕";if(flag==0){l.setText(s1);flag=1;}else{l.setText(s2);flag=0;}}publicvoidwindowClosing(WindowEvente){System.exit(0);}}思考題在例2的基礎(chǔ)上,要放置2個按鈕,并實現(xiàn)對兩個按鈕的監(jiān)聽,并輸出相應(yīng)的提示信息,該怎么改造?importjava.awt.*;importjava.awt.event.*;classButton2DemoextendsWindowAdapterimplementsActionListener{Framef;Buttonb1,b2;Labell;

intflag=0;publicstaticvoidmain(String

args[]){Button2Demobt=newButton2Demo();

bt.init();}publicvoidinit(){f=newFrame("按鈕例題");

b1=newButton("button1");b1.addActionListener(this);b2=newButton("button2");b2.addActionListener(this);

f.add(b1,"South");

f.add(b2,"North");l=newLabel();

f.add(l,"Center");

f.addWindowListener(this);f.setSize(300,300);f.setVisible(true);}publicvoidactionPerformed(ActionEvente){Strings1="您按下了奇數(shù)次按鈕";Strings2="您按下了偶數(shù)次按鈕";if(e.getSource()==b1){s1+=",您當(dāng)前按下的按鈕是第1個";s2+=",您當(dāng)前按下的按鈕是第1個";}if(e.getSource()==b2){s1+=",您當(dāng)前按下的按鈕是第2個";s2+=",您當(dāng)前按下的按鈕是第2個";}if(flag==0){l.setText(s1);flag=1;}else{l.setText(s2);flag=0;}}publicvoidwindowClosing(WindowEvente){System.exit(0);}}13.2AWT基本組件

13.2.3Checkbox復(fù)選框

1、構(gòu)造方法publicCheckbox()//無標(biāo)簽,初始為關(guān)publicCheckbox(Stringlabel)//有標(biāo)簽,初始為關(guān)publicCheckbox(String

label,booleanstate)publicCheckbox(Stringlabel,booleanstate,CheckboxGroupgroup)//構(gòu)造具有指定標(biāo)簽的Checkbox,并將它設(shè)置為指定狀態(tài),使它處于指定復(fù)選框組中。13.2AWT基本組件2、主要方法addItemListener(ItemListenerl)

添加指定的項偵聽器,以接收來自此復(fù)選框的項事件。getCheckboxGroup()

確定此復(fù)選框的組。getLabel()

獲取此復(fù)選框的標(biāo)簽。

getState()

確定此復(fù)選框是處于“開”狀態(tài),還是處于“關(guān)”狀態(tài)。removeItemListener(ItemListenerl)

移除此項偵聽器,這樣項偵聽器將不再接收發(fā)自此復(fù)選框的項事件setCheckboxGroup(CheckboxGroupg)

將此復(fù)選框的組設(shè)置為指定復(fù)選框組。setLabel(Stringlabel)

將此復(fù)選框的標(biāo)簽設(shè)置為字符串setState(booleanstate)

將此復(fù)選框的狀態(tài)設(shè)置為指定狀態(tài)。13.2AWT基本組件例3:復(fù)選框綜合應(yīng)用,設(shè)計三個復(fù)選框,實現(xiàn)對它們的全部監(jiān)聽,并將各個復(fù)選框的選中狀態(tài)顯示在文本區(qū)域中。13.2AWT基本組件

13.2.4檢查框組—單選按鈕

創(chuàng)建單選按鈕的方法是:publicCheckbox(String

s,CheckboxGroup

c,booleanstate);創(chuàng)建單選按鈕的步驟:創(chuàng)建一個CheckboxGroup

對象再創(chuàng)建各單選按鈕,并將此按鈕放入檢查框組13.2AWT基本組件

13.2.4檢查框組—單選按鈕

常用方法publicCheckboxGroup

getCheckboxGroup()//返回按鈕所在的檢查框組;publicStringgetLabel()//返回標(biāo)簽publicStringgetState()//選中狀態(tài)publicvoidsetCheckboxGroup(CheckboxGroupg)//返回按鈕所在的復(fù)選框組;publicvoidsetLabel(Stringlabel)//設(shè)置標(biāo)簽publicvoidsetState(booeanstate)//設(shè)置狀態(tài)例4:單選框和復(fù)選框綜合應(yīng)用關(guān)鍵語句:監(jiān)聽器的使用檢查框組的建立用戶選項的獲得13.2AWT基本組件

13.2.5Choice選擇菜單框(下拉列表框)1、構(gòu)造方法publicChoice()2、Choice選項框的常用方法publicvoidaddItem(Stringitem)publicint

countItem()publicStringgetItem(intindex)13.2AWT基本組件

13.2.5Choice選擇框常用方法

publicint

setSelectIndex()publicint

getSelectItem()publicvoidselect(intpos)publicvoidselect(String

str)

例5:選擇框綜合應(yīng)用importjava.awt.*;importjava.applet.Applet;importjava.awt.event.*;publicclassChoiceDemoextendsAppletimplementsItemListener{publicvoidinit(){Labell=newLabel("請選擇您最喜歡的城市:");add(l);監(jiān)聽器接口:ItemListener注冊監(jiān)聽器:addItemListner抽象方法:itemStateChanged單選框綜合應(yīng)用Choicec=newChoice();c.addItem("北京");c.addItem("上海");c.addItem("重慶");c.addItem("天津");c.addItem("武漢");c.addItem("沈陽");c.addItem("深圳");add(c);c.addItemListener(this);}publicvoid

itemStateChanged(ItemEvente){Stringcity="北京";//equals方法相當(dāng)于等于=if(e.getItem().equals("上海"))city="上海";if(e.getItem().equals("重慶"))city="重慶";if(e.getItem().equals("天津"))city="天津";if(e.getItem().equals("武漢"))city="武漢";if(e.getItem().equals("沈陽"))city="沈陽";if(e.getItem().equals("深圳"))city="深圳";System.out.println("您最喜歡的城市是:"+city);}}單選框綜合應(yīng)用-用application實現(xiàn)importjava.awt.*;importjava.awt.event.*;publicclassChoiceApplicationextendsWindowAdapterimplementsItemListener{Framef=newFrame("Choice選擇框");publicstaticvoidmain(String

args[]){ChoiceApplicationca=newChoiceApplication();ca.init();}publicvoidinit(){Labell1=newLabel("請選擇您最喜歡的城市:");f.setSize(300,300);f.setVisible(true);f.add(l1,"North");Choicec=newChoice();c.addItem("北京");c.addItem("上海");c.addItem("重慶");c.addItem("天津");c.addItem("武漢");c.addItem("沈陽");c.addItem("深圳");f.add(c,"Center");c.addItemListener(this);//下面使用了匿名對象(無對象名)f.addWindowListener(new

WindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});}單選框綜合應(yīng)用-用application實現(xiàn)publicvoiditemStateChanged(ItemEvente){Stringcity="北京";if(e.getItem().equals("上海"))city="上海";if(e.getItem().equals("重慶"))city="重慶";if(e.getItem().equals("天津"))city="天津";if(e.getItem().equals("武漢"))city="武漢";if(e.getItem().equals("沈陽"))city="沈陽";if(e.getItem().equals("深圳"))city="深圳";Labell2=newLabel();f.add(l2,"South");l2.setText("您最喜歡的城市是:"+city);}}13.2AWT基本組件

13.2.6文本框TextField

1、構(gòu)造方法publicTextField()publicTextField(Stringtext)publicTextField(intcolumns)publicTextField(Stringtext,intcolumns)

13.2AWT基本組件

13.2.6文本框TextField

2、常用方法publicvoidsetEchoChar(charc)publicvoidsetText(Stringt)3、文本框創(chuàng)建方法TextField

tf=newTextField("SingleLine",30);用戶輸入文本內(nèi)容后,按回車鍵,引發(fā)ActionEvent事件,可用實現(xiàn)了ActionListener接口的類通過ActionPerformed()方法處理。13.2AWT基本組件

例6:建立一個界面,能輸入用戶名和口令。13.2AWT基本組件

13.2.7文本區(qū)域TextArea

構(gòu)造方法:textArea()textArea(int

rows,intcols)textArea(Stringtext)textArea(Stringtext,int

rows,intcols)textArea(String

text,int

rows,int

cols,int

scrollbars)13.2AWT基本組件

13.2.7文本區(qū)域TextArea

scrollbars常量包括:SCROLLBARS_BOTH:同時顯示水平方向和垂直方向的滾動條。SCROLLBARS_VERTICAL_ONLY:只顯示垂直方向的滾動條。SCROLLBARS_HORIZONAL_ONLY:只顯示水平方向的滾動條。SCROLLBARS_NONE:不顯示滾動條。13.2AWT基本組件

13.2.7文本區(qū)域TextArea

常用方法publicvoidappend(String

str)//追加文字publicvoidinsert(String

str,intpos)//指定位置插入文字publicvoidsetText(String

str)//設(shè)置區(qū)域內(nèi)容13.2AWT基本組件

13.2.7文本區(qū)域TextArea

publicint

getRows()//返回行數(shù)publicint

getColumns()//返回列數(shù)publicvoidsetRows(introws)//設(shè)置行數(shù)publicvoidsetColumns(intcols)//設(shè)置列數(shù)publicvoidsetEditable(booleanb)//設(shè)置區(qū)域的編輯狀態(tài)監(jiān)聽器:TextListener注冊監(jiān)聽器的方法:addTextListener要實現(xiàn)的抽象方法:textValueChanged(TextEvente)例7:制作如下界面:讓文本區(qū)3顯示文本區(qū)2中的內(nèi)容13.2AWT基本組件

13.2.8List列表框1、構(gòu)造方法publicList()publicList(introws)publicList(int

rows,boolean

isMultiMode)2、主要方法voidadd(Stringitem)13.2AWT基本組件

13.2.8List列表框3、接口處理選擇某個選項,將引發(fā)ItemEvent事件,該事件需要由ItemListener接口中的itemStateChanged方法進(jìn)行處理,雙擊選項時,引發(fā)ActionEvent事件,該事件需要由ActionListener接口中的actionPerformed()方法進(jìn)行處理。13.2AWT基本組件

13.2.8List列表框的常用方法voidadd(Stringitem,intindex)voidadd(Stringitem,intindex)voidaddItem(Stringitem)voidaddItem(Stringitem,intindex)boolean

allowsMultipleSelections()voidclear()int

countItems()voiddelItem(intposition)vo

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論