亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

java語言

Java圖形用戶接口

時間:2023-03-29 15:21:54 java語言 我要投稿
  • 相關(guān)推薦

Java圖形用戶接口

  引導(dǎo)語:圖形用戶接口即顯示圖形和字符并提供用戶控制操作環(huán)境的事件模型的用戶接口。以下是百分網(wǎng)小編分享給大家的Java圖形用戶接口,歡迎參考學(xué)習(xí)!

  1.1面板

  面板提copy;了建立應(yīng)用程序的空間。你可以把圖形元件(包括其他面板copy;放在一個面板上。Applet類提copy;了一個基本的面板。

  1.1.1布局管理

  Java提copy;了幾種布局:順序布局(FlowLayoutcopy;、邊界布局(BorderLayoutcopy;和網(wǎng)格布局(GridLayout)

  1.1.1.1順序布局

  順序布局(FlowLayoutcopy;是最基本的一種布局,面板的缺省布局就是順序布局。順序布局指的是把圖形元件一個接一個地reg;平地放在面板上。下面是一個順序布局的例子:

  importjava.awt.*;importjava.applet.Applet;

  publicclassmyButtonsextendsApplet{Buttonbutton1,button2,button3;

  publicvoidinit(){button1=newButton(\"確定\");button2=newButton(\"打開\");button3=newButton(\"關(guān)閉\");add(button1);add(button2);add(button3);}}

  1.1.1.2邊界布局

  邊界布局包括五個區(qū):北區(qū)、南區(qū)、東區(qū)、西區(qū)和中區(qū)。這幾個區(qū)在面板上的分布規(guī)律是\"上北下南,左西右東\"。下面是一個邊界布局的例子:

  importjava.awt.*;importjava.applet.Applet;

  publicclassbuttonDirextendsApplet{ButtonbuttonN,buttonS,buttonW,buttonE,buttonC;

  publicvoidinit(){setLayout(newBorderLayout());buttonN=newButton(\"reg;\");buttonS=newButton(\"火\");buttonE=newButton(\"木\");buttonW=newButton(\"金\");buttonC=newButton(\"土\");add(\"North\",buttonN);add(\"South\",buttonS);add(\"East\",buttonE);add(\"West\",buttonW);add(\"Center\",buttonC);}}

  1.1.1.3網(wǎng)格布局

  網(wǎng)格布局把面板分成一個個的網(wǎng)格,你可以給出網(wǎng)格的行數(shù)和列數(shù)。下面是一個網(wǎng)格布局的例子:

  importjava.awt.*;importjava.applet.Applet;

  publicclassbuttonGridextendsApplet{Buttonbutton1,button2,button3,button4,button5,button1,button7,button8;

  publicvoidinit(){setLayout(newGridLayout(4,2));button1=newButton(\"乾\");button2=newButton(\"坤\");button3=newButton(\"艮\");

  button4=newButton(\"震\");button5=newButton(\"坎\");button1=newButton(\"離\");button7=newButton(\"巽\");button8=newButton(\"兌\");

  add(button1);add(button2);add(button3);add(button4);add(button5);add(button1);add(button7);add(button8);}}

  1.2按鈕

  1.2.1按鈕事件

  用戶點一下按鈕,就會有一個按鈕事件發(fā)生。你可以通過覆蓋一個applet的action成員函數(shù)來捕捉按鈕事件。publicbooleanaction(Evente,Objecto){if(e.targetinstanceofButton){system.out.println((string)o);}else{System.out.println(\"Non-buttonevent\");}returntrue;}

  1.2.2按鈕類型

  Java提copy;了標(biāo)準(zhǔn)的按壓式按鈕,同時也提copy;了選擇式按鈕和標(biāo)記式按鈕。

  1.2.2.1選擇式按鈕

  選擇式按鈕提copy;了從幾個選項中選一個選項的功能。下面是從幾個市中選一個市的例子,市名放在選擇式按鈕中:

  CityChooser=newChoice();

  CityChooser.addItem(\"北copy;\");CityChooser.addItem(\"上海\");

  CityChooser.addItem(\"天津\");

  add(CityChooser);

  1.2.2.2標(biāo)記式按鈕

  標(biāo)記式按鈕的狀態(tài)作為標(biāo)記框事件的對象參數(shù)返回。下面是一個標(biāo)記式按鈕的例子:

  CheckboxfillStyleButton;fillStyleButton=newCheckbox(\"Solid\");

  publicbooleanaction(Evente,Objectarg){if(e.targetinstanceof

  Checkbox){System.out.println(\"Checkbox:\"+arg);}returntrue;}

  1.2.2.3按鍵式按鈕

  按鍵式按鈕是一組按鈕,用戶可以選中其中一個,同時這一組中的其他按鈕將被關(guān)閉。下面是一個按鍵式按鈕的例子:publicclassCheckBoxextendsApplet{CheckboxGroupcbg;publicvoidinit(){cbg=newCheckboxGroup();add(newCheckbox(\"one\",cbg,true));add(newCheckbox(\"two\",cbg,false));add(newCheckbox(\"three\",cbg,false));}}

  1.2.3自包含按鈕

  Java語言的面向?qū)ο筇匦允刮覀兡軌騽?chuàng)建完全自包含的按鈕。在自包含按鈕里,你可以在copy;展按鈕類里建立事件控制函數(shù)。下面是一個自包含按鈕的例子:

  importjava.awt.*;importjava.applet.Applet;

  classokButtonextendsButton{

  publicokButton(){setLabel(\"Ok\");}

  publicbooleanaction(Evente,Objectarg)

  {System.out.println(\"OKButton\");returntrue;}}

  publicclassbuttontestextendsApplet{okButtonmyOkButton;

  publicvoidinit(){myOkButton=newokButton();add(myOkButton);}}

  1.3標(biāo)copy;

  標(biāo)copy;是一種放到面板上的靜止的正文。下面是一個標(biāo)copy;的例子:importjava.awt.*;importjava.applet.Applet;publicclasslabelextendsApplet{publicvoidinit(){setLayout(newFlowLayout(FlowLayout.CENTER,10,10));Labellabel1=newLabel(\"你好!\");Labellabel2=newLabel(\"另一個標(biāo)copy;\");add(label1);add(label2);}}

  1.4列表框

  列表框使用戶易于操作大量的選項。創(chuàng)建列表框的方法和Choicebutton有copy;相似。列表框的所有條目都是可見的,如果選項很多,超出了列表框可見區(qū)的范圍,則列表框的旁邊將會有一個滾動條。首先,創(chuàng)建列表框:Listl=newList(4,false);這個成員函數(shù)創(chuàng)建了一個顯示4行的列表框。第二個參數(shù)\"false\"表示這個列表框是單選的,如果是\"true\",則表示是多選的。下面增加列表框的選項:l.addItem(\"北copy;大學(xué)\");l.addItem(\"清華大學(xué)\");l.addItem(\"吉林大學(xué)\");l.addItem(\"復(fù)copy;大學(xué)\");l.addItem(\"南開大學(xué)\");l.addItem(\"天津大學(xué)\");l.addItem(\"南copy;大學(xué)\");add(l);

  1.4.1在列表框中進行選擇

  可以用成員函數(shù)getSelectedItem()或getSelectedItems()來接收在列表框中被選的選項。在單選列表框里,\"雙擊\"一個選項就可以觸發(fā)一個可被action()成員函數(shù)捕捉到的事件。publicbooleanaction(Evente,Objectarg){...if(e.targetinstanceofList){System.out.println(\"Listentry:\"+arg);}...}

  1.4.2多選列表框

  對于多選列表框,要使你的選擇產(chǎn)生作用,需要使用其他的外部事件。例如,你可以使用按鈕事件:publicbooleanaction(Evente,Objectarg){...if(e.targetinstanceofButton){...if(\"Ok\".equals(arg)){string[]selected;selected=l.getSelectedItems();for(intI=0;I

  1.5文本域

  文本域一般用來讓用戶輸入象姓名、信用卡號這樣的信息,它是一個能夠接收用戶的鍵盤輸入的小塊區(qū)域。

  1.5.1創(chuàng)建文本域

  在創(chuàng)建文本域時,有四種類型copy;你選擇:空的、空的并且具有指定長度、帶有初始文本內(nèi)容的和帶有初始文本內(nèi)容并具有指定長度的。下面是生成這四種文本域的代碼:TextFieldtf1,tf2,tf3,tf4;//空的文本域tf1=newTextField();//長度為20的空的文本域tf2=newTextField(20);//帶有初始文本內(nèi)容的文本域tf3

  =newTextField(\"你好\");//帶有初始文本內(nèi)容并具有指定長度的文本域tf4=newTextField(\"你好\",30);add(tf1);add(tf2);add(tf3);add(tf4);

  1.5.2文本域事件

  當(dāng)用戶在文本域里敲\"回車\"鍵時,就產(chǎn)生了一個文本域事件。象其他事件一樣,你可以以在成員函數(shù)action()中捕捉到這個事件。

  publicbooleanaction(Evente,Objectarg){...if(e.targetinstanceofTextField){System.out.println(\"TextField:\"+arg);}...}

  1.1文本區(qū)

  文本區(qū)可以顯示大段的文本。

  1.1.1創(chuàng)建文本區(qū)

  與文本域類似,創(chuàng)建文本區(qū)時也有四種類型copy;選擇,但如果指定文本區(qū)的大小,必須同時指定行數(shù)和列數(shù)。TextAreata1,ta2;//一個空的文本區(qū)ta1=newTextArea();//一個帶有初始內(nèi)容、大小為5x40的文本區(qū)ta2=newTextArea(\"你好!\",5,40);

  可以用成員函數(shù)setEditable()來決定用戶是否可對文本區(qū)的內(nèi)容進行編輯。//使文本區(qū)為只讀的ta2.setEditable(false)

  1.1.2接收文本區(qū)的內(nèi)容

  可以用成員函數(shù)getText()來獲得文本區(qū)的當(dāng)前內(nèi)容。例如:System.out.println(ta1.getText());文本區(qū)本身不產(chǎn)生自己的事件。但你可以用外部事件來接收文本區(qū)的內(nèi)容:publicbooleanaction(Evente,Objecto){if(e.targetinstanceofButton){if(\"send\".equals(o)){StringtextToSend=ta1.getText();

  System.out.println(\"sending:\"+textTosend);

  mySendFunction(textToSend);}}else{...}}

  1.7畫板

  畫板能夠捕捉到copy;露事件、鼠標(biāo)事件和其他類似的事件;镜漠嫲孱惒惶幚磉@copy;事件,但你可以copy;展它來創(chuàng)建有你所需功能的畫板類。

  1.7.1創(chuàng)建畫板

  importjava.awt.*;importjava.applet.Applet;

  publicclasssuperGUIextendsApplet{...myCanvasdoodle;...public

  voidinit(){...//建立我們的畫板doodle=newmyCanvas();

  doodle.reshape(0,0,100,100);leftPanel.add(\"Center\",doodle);...}}

  classmyCanvasextendsCanvas{publicvoidpaint(Graphicsg)

  {g.drawRect(0,0,99,99);g.drawString(\"Canvas\",15,40);}}

  1.7.2畫板事件

  你可以覆蓋一般的事件處理成員函數(shù)。下面是一個包含了mouseDown事件處理的例子:importjava.awt.*;importjava.applet.Applet;

  publicclasscanvasextendsApplet{

  Buttonb1;

  publicvoidinit(){//SetourlayoutasaBorderstylesetLayout(new

  BorderLayout(15,15));b1=newButton(\"Test\");myCanvasc1=new

  myCanvas(100,100);//addthecanvasandthebuttontotheapplet

  add(\"Center\",c1);add(\"South\",b1);}

  publicbooleanaction(Evente,Objectarg){System.out.println(\"Event:

  \"+arg);returntrue;}

  publicbooleanmouseDown(Evente,intx,inty)

  {System.out.println(\"Mouseworks:(\"+x+\",\"+y+\")\");returntrue;}}

  classmyCanvasextendsCanvas{privateintwidth;privateintheight;

  publicmyCanvas(intw,inth){width=w;height=h;reshape(0,0,w,

  h);}

  publicvoidpaint(Graphicsg){g.setColor(Color.blue);g.fillRect(0,0,

  width,height);}

  publicbooleanmouseDown(Evente,intx,inty){if((x

【Java圖形用戶接口】相關(guān)文章:

硬盤的接口類型01-27

什么是Java10-28

電腦主板上有哪些接口03-31

管控usb接口的方法11-14

電腦硬件所有接口詳解08-22

java類的構(gòu)成04-28

吸引用戶的網(wǎng)頁設(shè)計技巧10-24

Java語言的內(nèi)部類12-13

java線程的幾種狀態(tài)12-14

Java基礎(chǔ)知識精選02-20