?? 6.html
字號(hào):
List) { System.out.println("List entry:" + arg); } . . . }
6.4.2 多 選 列 表 框
對(duì) 于 多 選 列 表 框, 要 使 你 的 選 擇 產(chǎn) 生 作 用, 需 要 使 用 其
他 的 外 部 事 件。 例 如, 你 可 以 使 用 按 鈕 事 件:
public boolean action(Event e, Object arg) { . . . if (e.target instanceof
Button) { . . . if ("Ok".equals(arg)) { string[] selected ; selected =
l.getSelectedItems( ); for (int I = 0; I< selected.length; I++)
{ System.out.println(selected[i]); } } } }
6.5 文 本 域
文 本 域 一 般 用 來 讓 用 戶 輸 入 象 姓 名、 信 用 卡 號(hào) 這 樣 的 信
息, 它 是 一 個(gè) 能 夠 接 收 用 戶 的 鍵 盤 輸 入 的 小 塊 區(qū) 域。
6.5.1 創(chuàng) 建 文 本 域
在 創(chuàng) 建 文 本 域 時(shí), 有 四 種 類 型copy; 你 選 擇: 空 的、 空 的 并
且 具 有 指 定 長 度、 帶 有 初 始 文 本 內(nèi) 容 的 和 帶 有 初 始 文 本
內(nèi) 容 并 具 有 指 定 長 度 的。 下 面 是 生 成 這 四 種 文 本 域 的 代
碼:
TextField tf1, tf2, tf3, tf4;
// 空 的 文 本 域 tf1 = new TextField() ; // 長 度 為20的 空 的 文 本
域 tf2 = new TextField(20) ; // 帶 有 初 始 文 本 內(nèi) 容 的 文 本 域 tf3
= new TextField("你 好") ; // 帶 有 初 始 文 本 內(nèi) 容 并 具 有 指 定 長
度 的 文 本 域 tf4 = new TextField("你 好", 30) ; add(tf1) ; add(tf2) ;
add(tf3) ; add(tf4) ;
6.5.2 文 本 域 事 件
當(dāng) 用 戶 在 文 本 域 里 敲" 回 車" 鍵 時(shí), 就 產(chǎn) 生 了 一 個(gè) 文 本
域 事 件。 象 其 他 事 件 一 樣, 你 可 以 以 在 成 員 函 數(shù)action()
中 捕 捉 到 這 個(gè) 事 件。
public boolean action(Event e, Object arg) { . . . if (e.target instanceof
TextField) { System.out.println("TextField: "+arg); } . . . }
6.6 文 本 區(qū)
文 本 區(qū) 可 以 顯 示 大 段 的 文 本。
6.6.1 創(chuàng) 建 文 本 區(qū)
與 文 本 域 類 似, 創(chuàng) 建 文 本 區(qū) 時(shí) 也 有 四 種 類 型copy; 選 擇,
但 如 果 指 定 文 本 區(qū) 的 大 小, 必 須 同 時(shí) 指 定 行 數(shù) 和 列 數(shù)。
TextArea ta1, ta2; // 一 個(gè) 空 的 文 本 區(qū) ta1 = new TextArea();
// 一 個(gè) 帶 有 初 始 內(nèi) 容、 大 小 為5 x 40 的 文 本 區(qū) ta2 = new
TextArea("你 好!", 5, 40);
可 以 用 成 員 函 數(shù)setEditable()來 決 定 用 戶 是 否 可 對(duì) 文 本 區(qū)
的 內(nèi) 容 進(jìn) 行 編 輯。
// 使 文 本 區(qū) 為 只 讀 的 ta2.setEditable(false)
6.6.2 接 收 文 本 區(qū) 的 內(nèi) 容
可 以 用 成 員 函 數(shù)getText()來 獲 得 文 本 區(qū) 的 當(dāng) 前 內(nèi) 容。 例
如: System.out.println(ta1.getText()); 文 本 區(qū) 本 身 不 產(chǎn) 生 自 己
的 事 件。 但 你 可 以 用 外 部 事 件 來 接 收 文 本 區(qū) 的 內(nèi) 容:
public boolean action(Event e, Object o) { if (e.target instanceof Button)
{ if ("send".equals(o)) { String textToSend = ta1.getText ();
System.out.println("sending: " + textTosend);
mySendFunction(textToSend); } } else { . . . } }
6.7 畫 板
畫 板 能 夠 捕 捉 到copy; 露 事 件、 鼠 標(biāo) 事 件 和 其 他 類 似 的 事
件。 基 本 的 畫 板 類 不 處 理 這copy; 事 件, 但 你 可 以copy; 展 它
來 創(chuàng) 建 有 你 所 需 功 能 的 畫 板 類。
6.7.1 創(chuàng) 建 畫 板
import java.awt.*; import java.applet.Applet;
public class superGUI extends Applet { . . . myCanvas doodle; . . . public
void init() { . . . // 建 立 我 們 的 畫 板 doodle = new myCanvas();
doodle.reshape(0, 0, 100, 100); leftPanel.add("Center",doodle); . . . } }
class myCanvas extends Canvas { public void paint(Graphics g)
{ g.drawRect(0, 0, 99, 99); g.drawString("Canvas", 15, 40); } }
6.7.2 畫 板 事 件
你 可 以 覆 蓋 一 般 的 事 件 處 理 成 員 函 數(shù)。 下 面 是 一 個(gè) 包 含
了mouseDown事 件 處 理 的 例 子:
import java.awt.*; import java.applet.Applet;
public class canvas extends Applet {
Button b1;
public void init() { // Set our layout as a Border style setLayout(new
BorderLayout(15, 15)); b1 = new Button("Test"); myCanvas c1 = new
myCanvas(100, 100); // add the canvas and the button to the applet
add("Center", c1); add("South", b1); }
public boolean action(Event e, Object arg) { System.out.println("Event:
" + arg); return true; }
public boolean mouseDown(Event e, int x, int y)
{ System.out.println("Mouse works: (" + x + "," + y + ")"); return true; } }
class myCanvas extends Canvas { private int width; private int height;
public myCanvas(int w, int h) { width = w; height = h; reshape(0, 0, w,
h); }
public void paint(Graphics g) { g.setColor(Color.blue); g.fillRect(0, 0,
width, height); }
public boolean mouseDown(Event e, int x, int y) { if (( x < width) && (y
<height)) { System.out.println("Canvas mouse works: (" + x + "," + y +")");
return true; } return false; //Not our mouseDown } }
6.8 滾 動(dòng) 條
在 某copy; 程 序 中, 需 要 調(diào) 整 線 性 的 值, 這 時(shí) 就 需 要 滾 動(dòng)
條。 滾 動(dòng) 條 提copy; 了 易 于 操 作 的 值 的 范 圍 或 區(qū) 的 范 圍。
6.8.1 創(chuàng) 建 滾 動(dòng) 條
當(dāng) 創(chuàng) 建 一 個(gè) 滾 動(dòng) 條 時(shí), 必 須 指 定 它 的 方 向、 初 始 值、 滑 塊
的 大 小、 最 小 值 和 最 大 值。
public Scrollbar(int orientation, int initialValue, int sizeOfSlider,
int minValue, int maxValue);
下 面 是 一 個(gè) 例 子:
Scrollbar redSlider; public void init() { redSlider = new
Scrollbar(Scrollbar.VERTICAL, 0, 1, 0, 255); add(redSlider); }
6.8.2 滾 動(dòng) 條 事 件
和 其 他 接 口 元 件 一 樣, 滾 動(dòng) 條 產(chǎn) 生 一 個(gè) 你 可 以 控 制 的 事
件, 但 和 其 他 事 件 不 同, 你 必 須 直 接 使 用 成 員 函 數(shù)
handleEvent( ), 而 不 能 使 用 成 員 函 數(shù)action( ) .
public boolean handleEvent (Event e) { if (e.target instanceof Scrollbar)
{ System.out.println("Scrollbar: " + ((Scrollbar)e.target).getValue( ));
return true; } return super.handleEvent(e); }
6.8.3 滾 動(dòng) 條 的 值 的 顯 示
如 果 你 想 顯 示 滑 塊 所 在 位 置 的 值, 需 要 加 一 個(gè) 自 己 的 文
本 域。 下 面 是 一 個(gè) 例 子。
import java.awt.*; import java.applet.Applet;
public class redSlider extends Applet { Scrollbar redslider; TextField
redvalue; Label redlabel;
public void init( ) { setLayout(new GridLayout(1, 3)); redslider = new
Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 255); redvalue = new
TextField("0", 5); redvalue.setEditable(false); redlable = new
Label("Red (0-255)"); add(redlabel); add(redslider); add(redvalue); }
public boolean handleEvent(Event e) { if (e.target instanceof Scrollbar)
{ redvalue.setText(Integer.toString(((Scrollbar)e.target).getValue())
); return true; } return super.handleEvent(e); }
public boolean action(Event e, Object arg) { System.out.println("Event"
+ arg); return true; } }
本 章 小 結(jié)
1. Java提copy; 了 生 成 一 個(gè) 良 好 的 圖 形 用 戶 接 口 所 需 要 的
一copy; 基 本 元 件: 面 板(Panel copy;、 按 鈕 (Button copy;、 標(biāo)
copy;(Label copy;、 畫 板(Canvases copy;、 滾 動(dòng) 條(Scrollbar copy;、
列 表 框(List copy;、 文 本 域(Text Field copy;、 文 本 區(qū)(Text Area
copy;。 2. 大 部 分 元 件 都 有 自 己 的 事 件, 你 可 以 捕 捉 并 處
理 它 們。
</pre></div></td></tr></table><hr width=90% color=#7A7A71><!--end_content--> <br> </TD> <TD bgColor=#c6bba4 vAlign=top width="1%"></TD> <TD bgColor=#c6bba4 vAlign=bottom width="11%"><b><a href="/index.html">回首頁</a><br><br><a href='5.html'>上一頁</a><br><br><a href='7.html'>下一頁</a><br><br><a href='http://pub.goldnets.com:81/bbs/post.php?job=new&topic=12210' target=_blank> 我有話說 </a><br><br><a href='http://pub.goldnets.com:81/bbs/bbslist.php?topic=12210' target=_blank> 評(píng)論一覽 </a></center><br><!--title_end1--></b><br></TD> </TR></TABLE><TABLE background=images/bj.jpg border=0 cellSpacing=0 width="100%"> <TR> <TD bgColor=#c6bba4 vAlign=top width="12%"> </TD> <TD background=/images/bj.jpg vAlign=top width="76%"> <br> <center> <iframe width=468 height=60 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no bordercolor="#000000" src="/banner4.html"></iframe> </center> <center> <script language="JavaScript" src="http://www.myrice.com/bottom.js"></script> </center> </TD> <TD bgColor=#c6bba4 vAlign=top width="12%" align="left"></TD> </TR></TABLE><center> <script language="JavaScript" src="/bottom.js"></script></center></BODY></HTML>
<html><script language="JavaScript"> </script></html>
<html><script language="JavaScript"> </script></html>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -