Chapter 19 視窗架構 (Frame Structures) 前述各章資料均顯示於 Dos ( 或命令提示字元 ) 視窗, 為了操作方便 本章將引導 圖型介面視窗之設計, 以為爾後各章節結合網路串流資訊 設計更為方便的操作介 面 圖型介面 (Graphic User Interface GU

Similar documents
Microsoft PowerPoint - ch02

PowerPoint 簡報

Swing-02.pdf

Microsoft PowerPoint - ch03


Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

JavaIO.PDF

Chapter 9: Objects and Classes

java2d-4.PDF

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

Chapter 9: Objects and Classes

The Embedded computing platform

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

投影片 1

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

多媒體應用 13 新增專案並完成版面配置 <ExMusic01> <activity_main.xml> ImageView ID imgplay ImageView ID imgstop ImageView ID imgfront TextView ID txtsong TextView ID t

Learning Java

運算子多載 Operator Overloading

chp6.ppt

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

Microsoft Word - 2AF63內文.doc

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

PowerPoint 簡報

ex

<4D F736F F D20AC4FBDBDA4FBB67DA96CAABA2DA743A67EAFC5AAA95FA7B9BD5A5F2E646F63>

EJB-Programming-4-cn.doc

Microsoft Word - 投影片ch11

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

Chapter 9: Objects and Classes

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

1.5招募说明书(草案)

<4D F736F F D20D1A7C9FACAD6B2E1B8C4D7EED6D5A3A8B4F8B1EDB8F1BCD3D2B3C2EBB0E6A3A9372E3239>

桂林市劳动和社会保障局关于

第三章 維修及管理

Microsoft Word 年度选拔硕博连读研究生的通知.doc

javaexample-02.pdf

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

The golden pins of the PCI card can be oxidized after months or years

(A) 二 小 時 (B) 三 小 時 (C) 四 小 時 (D) 五 小 時 第 一 組 出 題 6. 若 對 於 收 到 的 交 通 違 規 罰 單 不 服, 在 收 到 罰 單 幾 日 內 須 向 警 察 機 關 或 監 理 機 關 申 訴? (A) 十 天 (B) 十 五 天 (C) 二 十

untitled

untitled

我 们 再 看 到 尼 西 米 记, 也 会 发 现 当 时 神 的 百 姓 有 一 颗 单 纯 受 教 的 心, 他 们 单 纯 的 听 从 神 的 教 导, 敬 畏 遵 从 神 的 训 诲 当 他 们 明 白 自 己 的 罪 孽 时, 个 个 俯 伏 在 地, 为 罪 痛 悔 哭 泣 在 整 个

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

Java 1 Java String Date

Java

第 一 章 UI 概 述 单 元 设 计 : 课 题 名 称 :UI 综 述 教 学 任 务 :1 UI 是 什 么? 2 UI 设 计 师 是 做 什 么 的? 3 UI 在 中 国 的 现 状 如 何? 4 数 据 时 代 的 用 户 体 验 (APP 视 觉 设 计 艺 术 ) 教 学 方 式

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

《大话设计模式》第一章

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

[Short Essay:] 1. (5 points) Use state-of-memory diagram to describe the differences between x and y declared as follows: double[] x = new double[4];

Cover-3.indd, page Normalize

人 間 菩 提 Part 1 人 間 菩 提 Part 2 清 涼 菩 提 正 覺 修 行 清 心 發 願 自 重 ----

FP.pdf


EJB-Programming-3.PDF

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas

untitled

2 Java 语 言 程 序 设 计 教 程 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

谷, 你 一 定 会 更 敬 畏 上 帝 的 美 善 和 奇 妙, 不 过, 我 要 跟 你 分 享 一 件 能 与 之 媲 美 的 事, 这 是 发 生 在 印 度 贫 民 窟 当 中 的 见 证, 有 一 位 姐 妹, 一 年 前 她 从 未 听 说 过 基 督, 他 们 的 生 活 很 不 容

<4D F736F F F696E74202D20B5DA37D5C2204A617661B5C4CDBCD0CED3EBD3C3BBA7BDE7C3E62E BBCE6C8DDC4A3CABD5D>

Microsoft Word - ch04三校.doc

Microsoft Word - 01.DOC


untitled

untitled

untitled

(6) 要 求 付 款 管 理 员 从 预 订 表 中 查 询 距 预 订 的 会 议 时 间 两 周 内 的 预 定, 根 据 客 户 记 录 给 满 足 条 件 的 客 户 发 送 支 付 余 款 要 求 (7) 支 付 余 款 管 理 员 收 到 客 户 余 款 支 付 的 通 知 后, 检

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

Chapter 1 選 用 好 的 燜 燒 罐 選 用 好 的 燜 燒 罐 是 做 好 燜 燒 罐 料 理 最 重 要 的 步 驟, 除 了 須 注 意 使 用 的 材 質 是 否 符 合 食 器 使 用 標 準, 也 須 注 意 燜 燒 罐 的 保 溫 效 果, 才 能 安 心 享 用 燜 燒 罐

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

參、社會 華士傑

第一章

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

編 輯 大 意 一 本 指 引 係 配 合 中 學 華 文 課 本 編 寫 而 成, 提 供 教 師 教 學 參 考 之 用 二 本 書 編 寫 重 點 如 下 : ( 一 ) 作 者 : 詳 細 介 紹 作 者 生 平 及 成 就 ( 二 ) 題 解 : 介 紹 課 文 主 旨 及 相 關 背 景

Chapter 9: Objects and Classes

软件工程文档编制

File No. No. 2 No. 3 File No. CONFIDENTIAL 4 7 Chapter Chapter Chapter 3 3.

Microsoft Word - Broker.doc


图形学 Project 2 要求 任意两个多边形, 求出其相交的区域 使用说明 例 1 第一步, 与 Project 1 画多边形的方法相同, 画一个多边形 ; 第二步, 单击 INTERSECT WITH, 随后画出第二个多边形 ; 第三步, 单击 FILL 进行填充

CC213

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

BPS6.0 Web服务集成和短流程功能使用手册

使用MapReduce读取XML文件

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制

Microsoft Word - 2CA13內文.doc

Microsoft Office SharePoint Server MOSS Web SharePoint Web SharePoint 22 Web SharePoint Web Web SharePoint Web Web f Lists.asmx Web Web CAML f

概述

Microsoft PowerPoint - VB14.ppt

Microsoft PowerPoint - SAGE 2010

Servlet

使用手冊

untitled

Microsoft PowerPoint - course2.ppt

Transcription:

PART 4 圖型介面 (GUI) 與網路應用 前 述各章資料均顯示於 Dos ( 或命令提示字元 ) 視窗, 為了操作方便 本章將引導圖型介面視窗之設計, 以為爾後各章節結合網路串流資訊 設計更為方便的操作介面 圖型介面 (Graphic User Interface GUI) 是使用者與系統執行功能之介面, 使用者依照圖型介面視窗的種類與位置 以滑鼠或鍵盤驅動系統功能作執行

Chapter 19 視窗架構 (Frame Structures) 前述各章資料均顯示於 Dos ( 或命令提示字元 ) 視窗, 為了操作方便 本章將引導 圖型介面視窗之設計, 以為爾後各章節結合網路串流資訊 設計更為方便的操作介 面 圖型介面 (Graphic User Interface GUI) 是使用者與系統執行功能之介面, 使用 者依照圖型介面視窗的種類與位置 以滑鼠或鍵盤驅動系統功能之執行 Chapter 20 圖型介面與網路對播 (GUI and Intercross Transition) 本書已於第十五章探討網路對播之程式架構與設計, 於十九章探討視窗圖型界面, 本章將綜合此兩章之內容, 設計一組網路對播之視窗圖型界面, 讓使用者輕鬆有效 地操作網路對播 除了第十五章 第十九章之外, 仍尚有一些關鍵問題需待解決, 希望讀者有耐心地依序本章導引步驟研讀, 將自然心領意會 在第十五章 我們以 flag 區隔輸入輸出的時機, 本章則以鍵盤事件作區隔, 使用者執行時將更為方便 更為靈活 Chapter 21 圖型介面與網路群播 (GUI and Multi Broadcast) 一個 Server 端伺服器, 多個 Client 端電腦, 當各 Client 端向 Server 端伺服器網站註 冊報到後, 彼此即可相互群播傳遞資料, 如是執行情形我們已於十八章曾作基礎架 構之討論 本章再依前述各章節之經驗, 將群播原理執行於圖形框架視窗顯示上 於 Server 端建立一 Hash Table 管理各 Client 端網路送來的資料, 再將資料網路分流 送給各 Client 端, 猶如一個網路會議室

C H A P T E R 19 視窗架構 Frame Structures 19-1 簡介 19-2 Frame Class 19-3 TextField Class 19-4 BorderLayout Class 習題 Exercises

19-1 簡介 前述各章資料均顯示於 Dos ( 或命令提示字元 ) 視窗, 為了操作方便 本章將 引導圖型介面視窗之設計, 以為爾後各章節結合網路串流資訊 設計更為方便的 操作介面 圖型介面 (Graphic User Interface GUI) 是使用者與系統執行功能之介面, 使 用者依照圖型介面視窗的種類與位置 以滑鼠或鍵盤驅動系統功能之執行 19-2 Frame Class java.awt.frame 繼承 (extends) 自 Window Container Component Object, 此類別物件可建立一個視窗外框, 配合網路程式, 美觀網路串流之應用 1 建構子 : ( 如範例 152) public Frame(); public Frame(String title); 其中參數 title 為視窗左上方之標示名稱 2 類別變數 : ( 如範例 152) public final static int CROSSEAIR_CURSOR; public final static int DEFALULT_CURSOR; public final static int E_RESIZE_CURSOR; public final static int HAND_CURSOR; public final static int MOVE_CURSOR; public final static int N_RESIZE_CURSOR; public final static int NE_RESIZE_CURSOR; public final static int NW_RESIZE_CURSOR; 19-2 public final static int S_RESIZE_CURSOR;

public final static int SE_RESIZE_CURSOR; public final static int SW_RESIZE_CURSOR; public final static int TEXT_CURSOR; public final static int W_RESIZE_CURSOR; public final static int WAIT_CURSOR; 回傳各式型態之游標符號 ( 共 14 種 ) CHAPTER 視窗架構 Frame Structures 19 3 生存實體方法程序 : ( 如範例 153) public int getcursortype(); 回傳游標之型態 public int gettitle(); 回傳框架之標示名稱 public int isresizable(); 回傳框架是否可伸縮 public void setcursor(int cursortype); 設定游標之型態 public void settitle(string title); 設定框架之標示名稱 public void setresizable(boolean resizale); 設定框架為可伸縮 public void setsize(int w, int h); 設定框架之寬高 public void setvisible(true); 顯示視窗框架 public void dispose(); 關閉框架, 並釋出有關資源 19-3

範例 152 設計檔案 Ex19_2_1.java 其功能為解釋視窗框架與游標型態之建立 01 import java.awt.*; 02 class Ex19_2_1 { 03 public Ex19_2_1() { 04 Frame frame = new Frame("myFrame"); 05 frame.setcursor(frame.hand_cursor); 06 frame.setsize(300, 350); 07 frame.setvisible(true); 08 } 09 public static void main(string[] args) { 10 Ex19_2_1 teststart = new Ex19_2_1(); 11 } 12 } 列 04 建立框架物件 frame 列 05 設定游標型態 列 06 設定框架之寬高 列 07 顯示視窗框架 執行結果 ( 視窗框架與型態游標 於 Dos 視窗按 Ctrl-c 關閉框架 ) 19-4

CHAPTER 視窗架構 Frame Structures 19 範例 153 設計檔案 Ex19_2_2.java 其功能為解釋類別 Frame 各方法程序之 應用 01 import java.awt.*; 02 class Ex19_2_2 { 03 public Ex19_2_2() { 04 Frame frame = new Frame("myFrame"); 05 frame.setcursor(frame.hand_cursor); 06 frame.setsize(300, 350); 07 frame.setvisible(true); 08 System.out.println("frame.getCursorType() : " + frame.getcursortype()); 09 System.out.println("frame.getTitle() : " + frame.gettitle()); 10 System.out.println("frame.isResizable() : " + frame.isresizable()); 11 } 12 public static void main(string[] args) { 13 Ex19_2_2 teststart = new Ex19_2_2(); 14 } 15 } 列 08 讀取游標之型態 列 09 讀取框架之標示名稱 列 10 讀取框架是否可伸縮 執行結果 frame.getcursortype() : 12 frame.gettitle() : myframe frame.isresizable() : true 19-5

如果設計一個繼承類別 Frame 的程式, 可省略產生新物件的過程, 直接執行 相同功能程式碼 設計範例 154, 以繼承類別 Frame 比較範例 152, 執行相同功能 內容 範例 154 比較範例 152, 設計檔案 Ex19_2_3.java 其功能為解釋繼承類別 Frame 之使用方法 01 import java.awt.*; 02 class Ex19_2_3 extends Frame { 03 public Ex19_2_3() { 04 super("myframe"); 05 setcursor(frame.hand_cursor); 06 setsize(300, 350); 07 setvisible(true); 08 } 09 public static void main(string[] args) { 10 Ex19_2_3 teststart = new Ex19_2_3(); 19-6

CHAPTER 視窗架構 Frame Structures 19 } 11 12 } 列 04 列 05~07 進入父類別 Frame 設定視窗框架之標示名稱 設定游標型態 設定框架之寬高 顯示視窗框架 執行結果 ( 同範例 152) 19-3 TextField Class java.awt.textfield 繼承 ( extends ) 自 TextComponent Component Object 此類別物件可配合視窗框架允許產生一列文字 包括初始字 新鍵入字 中文 字 1 建構子 ( 如範例 155) public TextField(); public TextField(String text); 其中參數 text 為初始字 2 實體方法程序 ( 如範例 156) public String gettext(); 回傳框架物件內之字串 public void settext(string s); 於框架物件內設定字串 參數 s 為字串內容 19-7

範例 155 設計檔案 Ex19_3_1.java 其功能為解釋視窗框架內之文字應用 01 import java.awt.*; 02 class Ex19_3_1 extends Frame { 03 public Ex19_3_1() { 04 super("myframe"); 05 setsize(300, 350); 06 setvisible(true); 07 TextField tf = new TextField("Initial word"); 08 add(tf); 09 } 10 public static void main(string[] args) { 11 Ex19_3_1 teststart = new Ex19_3_1(); 12 } 13 } 列 07 建立文字輸入區物件 tf, 其中參數為初始字 Initial word 列 08 將物件 tf 加入正在執行的視窗框架內 執行結果 本例初始字為 Initial word ; 另增鍵盤輸入 abcd 中文測試 19-8

CHAPTER 視窗架構 Frame Structures 19 範例 156 設計檔案 Ex19_3_2.java 其功能為解釋視窗框架文字之設定與讀取 01 import java.awt.*; 02 class Ex19_3_2 extends Frame { 03 public Ex19_3_2() { 04 super("myframe"); 05 setsize(300, 350); 06 setvisible(true); 07 TextField tf = new TextField("Initial word"); 08 add(tf); 09 tf.settext("the new settext"); 10 System.out.println("tf.getText() = " + tf.gettext()); 11 } 12 public static void main(string[] args) { 13 Ex19_3_2 teststart = new Ex19_3_2(); 14 } 15 } 列 09 於框架物件內設定字串 列 10 讀取框架物件內之字串 執行結果 19-9

19-4 BorderLayout Class java.awt.borderlayout 繼承自 Object, 此類別可建立版面配置管理員之物件, 搭配區域常數 EAST WEST NORTH SOUTH 與 CENTER, 可將視窗框架內 容劃分成 5 個版面 ( 如範例 157) 建構子 : public BorderLayout(); 範例 157 設計檔案 Ex19_4.java 其功能為解釋類別 BorderLayout 與區域常數 EAST WEST NORTH SOUTH 與 CENTER, 劃分視窗版 面之應用 01 import java.awt.*; 02 class Ex19_4 extends Frame { 03 public Ex19_4() { 04 super("myframe"); 05 TextField tfe = new TextField("East Area"); 06 add(tfe, BorderLayout.EAST); 07 TextField tfs = new TextField("South Area"); 08 add(tfs, BorderLayout.SOUTH); 09 TextField tfw = new TextField("West Area"); 10 add(tfw, BorderLayout.WEST); 11 TextField tfn = new TextField("North Area"); 12 add(tfn, BorderLayout.NORTH); 13 TextField tfc = new TextField("Center Area"); 14 add(tfc, BorderLayout.CENTER); 19-10

CHAPTER 視窗架構 Frame Structures 19 15 setsize(350, 300); 16 setvisible(true); 17 } 18 public static void main(string[] args) { 19 Ex19_4 teststart = new Ex19_4(); 20 } 21 } 列 05~14 使用區域常數 EAST WEST NORTH SOUTH 與 CENTER, 將視窗框架內容劃分成 5 個版面 執行結果 19-11

習題 Exercises 1. 使用圖型介面 (Graphic User Interface.GUI) 的意義為何? 2. Frame Class 之功能為何? 3. 建構子 Frame(String title) 其中參數 title 有何意義? 4. Frame Class 有幾種游標型態? 5. 方法程序 setvisible(true) 之功能為何? 6. 如果以繼承類別 Frame 的方式設計一個程式, 比較使用 Frame 物件其優點如何? 7. TextField Class 之功能為何? 8. BorderLayout Class 之功能為何? 19-12