⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yyrm6.html

📁 关于java学习的一些基本知识!
💻 HTML
📖 第 1 页 / 共 2 页
字号:
            <P>public boolean action(Event e, Object arg) { if (e.target 
            instanceof Checkbox) { System.out.println("Checkbox: " + arg); } 
            return true; } </P>
            <P>图 6.5 </P>
            <H4 align=center>6.2.2.3 按 键 式 按 钮</H4>
            <P>按 键 式 按 钮 是 一 组 按 钮, 用 户 可 以 选 中 其 中 一 个, 同 时这 一 组 中 的 其 他 按 钮 将 
            被 关 闭。 下 面 是 一 个 按 键 式 按 钮的 例 子: public class CheckBox extends 
            Applet { CheckboxGroup cbg; </P>
            <P>public void init() { cbg = new CheckboxGroup(); add (new 
            Checkbox("one ", cbg, true)); add (new Checkbox("two ", cbg,false)); 
            add (new Checkbox("three", cbg, false)); } } </P>
            <P>图 6.6 </P>
            <H3 align=center>6.2.3 自 包 含 按 钮 </H3>
            <P>Java语 言 的 面 向 对 象 特 性 使 我 们 能 够 创 建 完 全 自 包 含 的按 钮。 在 自 包 含 按 钮 
            里, 你 可 以 在 ?copy; 展 按 钮 类 里 建 立事 件 控 制 函 数。 下 面 是 一 个 自 包 含 按 钮 的 例 
            子: </P>
            <P>import java.awt.*; import java.applet.Applet; </P>
            <P>class okButton extends Button { </P>
            <P>public okButton() { setLabel("Ok"); } </P>
            <P>public boolean action(Event e, Object arg) { 
            System.out.println("OKButton"); return true; } } </P>
            <P>public class buttontest extends Applet { okButton myOkButton; 
</P>
            <P>public void init() { myOkButton = new okButton(); 
            add(myOkButton); } } </P>
            <P>图 6.7 </P>
            <H2 align=center>6.3 标 ?copy; </H2>
            <P>标 ?copy; 是 一 种 放 到 面 板 上 的 静 止 的 正 文。 下 面 是 一 个标 ?copy; 的 例 子: 
            import java.awt.*; import java.applet.Applet; </P>
            <P>public class label extends Applet { </P>
            <P>public void init() { setLayout(new FlowLayout(FlowLayout.CENTER, 
            10, 10)); Label label1 = new Label("你 好!"); Label label2 = new 
            Label("另 一 个 标 ?copy;"); add(label1); add(label2); } } </P>
            <P>下 面 是 运 行 结 果: </P>
            <P>图 6.8 </P>
            <H2 align=center>6.4 列 表 框 </H2>
            <P>列 表 框 使 用 户 易 于 操 作 大 量 的 选 项。 创 建 列 表 框 的 方法 和Choice button有 
            ?copy; 相 似。 列 表 框 的 所 有 条 目 都 是 可 见的, 如 果 选 项 很 多, 超 出 了 列 表 框 可 见 区 
            的 范 围, 则 列 表框 的 旁 边 将 会 有 一 个 滚 动 条。 首 先, 创 建 列 表 框: List l = new 
            List(4, false); 这 个 成 员 函 数 创 建 了 一 个 显 示4行 的 列 表框。 第 二 个 参 
            数“false"表 示 这 个 列 表 框 是 单 选 的, 如 果是“true ", 则 表 示 是 多 选 的。 下 面 增 加 列 
            表 框 的 选 项: </P>
            <P>l.addItem("北 ?copy; 大 学"); l.addItem("清 华 大 学"); l.addItem("吉 林 大 
            学"); l.addItem("复 ?copy; 大 学"); l.addItem("南 开 大 学"); l.addItem("天 津 
            大 学"); l.addItem("南 ?copy; 大 学"); add(l); </P>
            <P>图 6.9 </P>
            <H3 align=center>6.4.1 在 列 表 框 中 进 行 选 择 </H3>
            <P>可 以 用 成 员 函 数getSelectedItem()或getSelectedItems()来 接 收 在列 表 框 中 被 
            选 的 选 项。 在 单 选 列 表 框 里,“ 双 击” 一 个 选项 就 可 以 触 发 一 个 可 被action()成 员 函 
            数 捕 捉 到 的 事 件。 public boolean action(Event e, Object arg) { . . . if 
            (e.target instanceof List) { System.out.println("List entry:" + 
            arg); } . . . } </P>
            <H3 align=center>6.4.2 多 选 列 表 框</H3>
            <P>对 于 多 选 列 表 框, 要 使 你 的 选 择 产 生 作 用, 需 要 使 用 其他 的 外 部 事 件。 例 如, 你 
            可 以 使 用 按 钮 事 件: </P>
            <P>图 6.10 </P>
            <P>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&lt; 
            selected.length; I++) { System.out.println(selected[i]); } } } } 
</P>
            <H2 align=center>6.5 文 本 域 </H2>
            <P>文 本 域 一 般 用 来 让 用 户 输 入 象 姓 名、 信 用 卡 号 这 样 的信 息, 它 是 一 个 能 够 接 收 
            用 户 的 键 盘 输 入 的 小 块 区 域。 </P>
            <H3 align=center>6.5.1 创 建 文 本 域 </H3>
            <P>在 创 建 文 本 域 时, 有 四 种 类 型 ?copy; 你 选 择: 空 的、 空的 并 且 具 有 指 定 长 度、 带 
            有 初 始 文 本 内 容 的 和 带 有 初 始文 本 内 容 并 具 有 指 定 长 度 的。 下 面 是 生 成 这 四 种 文 
            本 域的 代 码: </P>
            <P>TextField tf1, tf2, tf3, tf4; </P>
            <P>// 空 的 文 本 域 tf1 = new TextField() ; // 长 度 为20的 空 的 文 本域 tf2 = 
            new TextField(20) ; // 带 有 初 始 文 本 内 容 的 文 本 域 tf3 = new 
            TextField("你 好") ; // 带 有 初 始 文 本 内 容 并 具 有指 定 长 度 的 文 本 域 tf4 = new 
            TextField("你 好", 30) ; add(tf1) ; add(tf2) ; add(tf3) ; add(tf4) ; 
            </P>
            <P>图 6.11 </P>
            <H3 align=center>6.5.2 文 本 域 事 件 </H3>
            <P>当 用 户 在 文 本 域 里 敲“ 回 车” 键 时, 就 产 生 了 一 个 文 本域 事 件。 象 其 他 事 件 一 样, 
            你 可 以 以 在 成 员 函 数action()中捕 捉 到 这 个 事 件。 </P>
            <P>public boolean action(Event e, Object arg) { . . . if (e.target 
            instanceof TextField) { System.out.println("TextField: "+arg); } . . 
            . } </P>
            <H2 align=center>6.6 文 本 区 </H2>
            <P>文 本 区 可 以 显 示 大 段 的 文 本。 </P>
            <H3 align=center>6.6.1 创 建 文 本 区</H3>
            <P>与 文 本 域 类 似, 创 建 文 本 区 时 也 有 四 种 类 型 ?copy; 选 择,但 如 果 指 定 文 本 区 的 
            大 小, 必 须 同 时 指 定 行 数 和 列 数。 </P>
            <P>TextArea ta1, ta2; // 一 个 空 的 文 本 区 ta1 = new TextArea(); </P>
            <P>// 一 个 带 有 初 始 内 容、 大 小 为5 x 40 的 文 本 区 ta2 = new TextArea("你好!", 
            5, 40); </P>
            <P>可 以 用 成 员 函 数setEditable()来 决 定 用 户 是 否 可 对 文 本 区的 内 容 进 行 编 辑。 
            </P>
            <P>// 使 文 本 区 为 只 读 的 ta2.setEditable(false) </P>
            <P>图 6.12 </P>
            <H3 align=center>6.6.2 接 收 文 本 区 的 内 容</H3>
            <P>可 以 用 成 员 函 数getText()来 获 得 文 本 区 的 当 前 内 容。 例 如: 
            System.out.println(ta1.getText()); 文 本 区 本 身 不 产 生 自 己 的 事件。 但 你 可 以 
            用 外 部 事 件 来 接 收 文 本 区 的 内 容: </P>
            <P>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 { . . . } } </P>
            <H2 align=center>6.7 画 板</H2>
            <P>画 板 能 够 捕 捉 到 ?copy; 露 事 件、 鼠 标 事 件 和 其 他 类 似 的事 件。 基 本 的 画 板 类 不 
            处 理 这 ?copy; 事 件, 但 你 可 以 ?copy; 展 它 来 创 建 有 你 所 需 功 能 的 画 板 类。 </P>
            <H3 align=center>6.7.1 创 建 画 板 </H3>
            <P>import java.awt.*; import java.applet.Applet; </P>
            <P>public class superGUI extends Applet { . . . myCanvas doodle; . . 
            . public void init() { . . . // 建 立 我 们 的 画 板 doodle = new 
            myCanvas(); doodle.reshape(0, 0, 100, 100); 
            leftPanel.add("Center",doodle); . . . } } </P>
            <P>class myCanvas extends Canvas { public void paint(Graphics g) { 
            g.drawRect(0, 0, 99, 99); g.drawString("Canvas", 15, 40); } } </P>
            <H3 align=center>6.7.2 画 板 事 件 </H3>
            <P>你 可 以 覆 盖 一 般 的 事 件 处 理 成 员 函 数。 下 面 是 一 个 包含 了mouseDown事 件 处 理 的 
            例 子: </P>
            <P>import java.awt.*; import java.applet.Applet; </P>
            <P>public class canvas extends Applet { </P>
            <P>Button b1; </P>
            <P>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); } </P>
            <P>public boolean action(Event e, Object arg) { 
            System.out.println("Event: " + arg); return true; } </P>
            <P>public boolean mouseDown(Event e, int x, int y) { 
            System.out.println("Mouse works: (" + x + "," + y + ")"); return 
            true; } } </P>
            <P>class myCanvas extends Canvas { private int width; private int 
            height; </P>
            <P>public myCanvas(int w, int h) { width = w; height = h; reshape(0, 
            0, w, h); } </P>
            <P>public void paint(Graphics g) { g.setColor(Color.blue); 
            g.fillRect(0, 0, width, height); } </P>
            <P>public boolean mouseDown(Event e, int x, int y) { if (( x &lt; 
            width) &amp;&amp; (y &lt;height)) { System.out.println("Canvas mouse 
            works: (" + x + "," + y +")"); return true; } return false; //Not 
            our mouseDown } } </P>
            <H2 align=center>6.8 滚 动 条 </H2>
            <P>在 某 ?copy; 程 序 中, 需 要 调 整 线 性 的 值, 这 时 就 需 要 滚动 条。 滚 动 条 提 ?copy; 
            了 易 于 操 作 的 值 的 范 围 或 区 的 范 围。 </P>
            <H3 align=center>6.8.1 创 建 滚 动 条</H3>
            <P>当 创 建 一 个 滚 动 条 时, 必 须 指 定 它 的 方 向、 初 始 值、 滑块 的 大 小、 最 小 值 和 最 大 
            值。 </P>
            <P>public Scrollbar(int orientation, int initialValue, int 
            sizeOfSlider, int minValue, int maxValue); </P>
            <P>下 面 是 一 个 例 子: </P>
            <P>Scrollbar redSlider; public void init() { redSlider = new 
            Scrollbar(Scrollbar.VERTICAL, 0, 1, 0, 255); add(redSlider); } </P>
            <P>图 6.13 </P>
            <H3 align=center>6.8.2 滚 动 条 事 件 </H3>
            <P>和 其 他 接 口 元 件 一 样, 滚 动 条 产 生 一 个 你 可 以 控 制 的事 件, 但 和 其 他 事 件 不 同, 
            你 必 须 直 接 使 用 成 员 函 数handleEvent( ), 而 不 能 使 用 成 员 函 数action( ) . 
            </P>
            <P>public boolean handleEvent (Event e) { if (e.target instanceof 
            Scrollbar) { System.out.println("Scrollbar: " + 
            ((Scrollbar)e.target).getValue( )); return true; } return 
            super.handleEvent(e); } </P>
            <H3 align=center>6.8.3 滚 动 条 的 值 的 显 示</H3>
            <P>如 果 你 想 显 示 滑 块 所 在 位 置 的 值, 需 要 加 一 个 自 己 的文 本 域。 下 面 是 一 个 例 子。 
            </P>
            <P>import java.awt.*; import java.applet.Applet; </P>
            <P>public class redSlider extends Applet { Scrollbar redslider; 
            TextField redvalue; Label redlabel; </P>
            <P>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); 
            } </P>
            <P>public boolean handleEvent(Event e) { if (e.target instanceof 
            Scrollbar) { 
            redvalue.setText(Integer.toString(((Scrollbar)e.target).getValue())); 
            return true; } return super.handleEvent(e); } </P>
            <P>public boolean action(Event e, Object arg) { 
            System.out.println("Event" + arg); return true; } } </P>
            <P>图 6.14 </P>
            <H2 align=center>本 章 小 结 </H2>
            <P>1. Java提 ?copy; 了 生 成 一 个 良 好 的 图 形 用 户 接 口 所 需 要的 一 ?copy; 基 本 元 
            件: 面 板(Panel?copy;、 按 钮 (Button?copy;、标 ?copy;(Label?copy;、 画 
            板(Canvases?copy;、 滚 动 条(Scrollbar?copy;、列 表 框(List?copy;、 文 本 域(Text 
            Field?copy;、 文 本 区(Text Area?copy;。 2. 大 部 分 元 件 都 有 自 己 的 事 件, 你 可 
            以 捕 捉 并 处 理 它 们。 </P></TD>
        <TR>
        <TR>
          <TD bgColor=#f0f0f0 borderColor=#ffffff class=t1 noWrap 
            width="50%"><IMG height=12 src="yyrm6.files/yellow_dot.gif" 
            width=12><A 
            href="http://www.chinajavaworld.net/doc/yyrm/yyrm5.html">上一章</A> </TD>
          <TD bgColor=#f0f0f0 borderColor=#ffffff class=t1 noWrap 
            width="50%"><IMG height=12 src="yyrm6.files/blue_dot.gif" 
            width=12><A 
            href="http://www.chinajavaworld.net/doc/yyrm/yyrm7.html">下一章</A> </TD>
        <TR></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!--end first table --><!--  start foot -->
<SCRIPT src="yyrm6.files/foot1.js"></SCRIPT>

<SCRIPT src="yyrm6.files/adsindex.js"></SCRIPT>

<SCRIPT src="yyrm6.files/foot2.js"></SCRIPT>
<!--  end foot --></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -