อ.วิวัฒน์ ชินนาทศิริกุล

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ระบบเพิ่มแก้ไขข้อมูล หน่วยเลือกตั้งสมาชิกวุฒิสภา.
Advertisements

การควบคุมตำแหน่งการแสดงผล และการจัดวางข้อมูลบนจอภาพ
เปลี่ยนสี และรูปแบบของตัวหนังสือ และจุดเชื่อมโยง
Component องค์ประกอบของ GUI.
การใช้ MessageBox-InputBox
เทคนิคการสืบค้นข้อมูลมติคณะรัฐมนตรี
FORM อ.กันทิมา อ่อนละออ
   ฮาร์ดแวร์ (Hardware)               ฮาร์ดแวร์เป็นองค์ประกอบสำคัญของระบบสารสนเทศ หมายถึง เครื่องคอมพิวเตอร์ อุปกรณ์รอบข้าง รวมทั้งอุปกรณ์สื่อสารสำหรับเชื่อมโยงคอมพิวเตอร์เข้าเป็นเครือข่าย.
Visual Basic.
เตรียมเอกสารประกอบการนำเสนอ
Visual Basic 6 By Samaporn Yendee VB6.
องค์ประกอบพื้นฐาน ของโปรแกรม Visual Basic
By Mr.Piched Tanawattana ส่วนประกอบของ Excel แถบชื่อเรื่อง Title bar ปุ่มควบคุม Control Button เวิร์กชีต Worksheet แถบสถานะ Status bar แถบเมนู Menu.
ฟังก์ชันการแก้ไขข้อมูลประวัติกำลังพล จากคำสั่งเกี่ยวกับ สูญเสีย
กล่องข่าวสาร (Message Box)
SCC : Suthida Chaichomchuen
Selected Topics in IT (Java)
การควบคุมทิศทางการทำงานของโปรแกรม
การใช้งานโปรแกรม Microsoft Word
การสร้างภาพเคลื่อนไหว
บทที่ 9 การใส่รูปภาพ (Image).
โปรแกรม Microsoft Access
ชั้นมัธยมศึกษาตอนต้น
บทที่ 11 การเขียนโปรแกรมแบบ Structured Programming และการจัดการตรวจสอบข้อผิดพลาด.
รู้จักและใช้งาน Applet
ลักษณะการจัดเก็บข้อมูลและขอบเขตข้อมูล
Chapter 4 การสร้าง Application
การเปลี่ยนแปลงเกี่ยวกับตัวแปร
โรงเรียนวชิรธรรมสาธิต
การรับและแสดง ข้อมูล ง การเขียนไดนามิกเว็บ เพจ ศูนย์คอมพิวเตอร์โรงเรียนปลวกแดงพิทยาคม.
การสร้างเหตุการณ์ click ให้กับปุ่มกด Button
วาดภาพสวยด้วย Paint.
ความสัมพันธ์ระหว่างคลาส (Class Relationship)
Java Desktop Application #4
การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
Java Desktop Application #5
วิชาการเขียนโปรแกรมและอัลกอริทึ่ม
วิชาคอมพิวเตอร์กราฟิก
PHP & MySQL ระบบจัดการสินค้า
พื้นฐานการเขียนโปรแกรมด้วย vb.net2005
โปรแกรมสาธิตการเสนอราคา e-Auction (Sealed Bid ตามระเบียบฯ ปี 2549)
รู้จักกับTimeline, Layer และ Scene รู้จักกับTimeline, Layer และ Scene
โปรแกรม Microsoft Access
วาดรูปด้วย Paint ชั้นประถมศึกษาปีที่ 3
บทที่ 7 Low Level API (ต่อ)
การใช้งาน High Level API : List
การเข้าใช้ Speexx ครั้งแรก Foundation English II
บทที่ 3 การสร้าง Appication แบบ Windows Form
การเขียนโปรแกรมสั่งงานตัวควบคุม (Control)
ความรู้พื้นฐานเกี่ยวกับ Microsoft Visual C#
การสร้างและการใช้งานฟอร์ม
สายอักขระ เขียนโปรแกรม Java เบื้องต้น.
การออกแบบส่วนติดต่อกับผู้ใช้ User Interface Design
Low Level GUI อ.วิวัฒน์ ชินนาทศิริกุล.
การทำงานและคำสั่งพื้นฐาน
บทที่ 5 เทคนิคการสร้างแอพพลิเคชัน
เริ่มต้น Photoshop CS5.
แนวคิดในการเขียนโปรแกรม
การแสดงผลและการรับข้อมูล (Data Output and Input)
หลักการเขียนโปรแกรม ( )
ภาพนี้ชื่อว่าอะไร ? ก. แถบเมนูบาร์
การสร้างฟอร์ม(Form) ด้วยภาษา HTML
chapter5 - คลาสนามธรรม - อินเตอร์เฟสคลาส
บทที่ สร้างงานเอกสารและการแก้ไข
การกระทำทางคณิตศาสตร์
การจัดการกับความผิดปกติ
การรับและแสดงผลข้อมูล (Input/Output)
การใช้งาน High Level API : Forms อ. วิวัฒน์ ชินนาทศิริกุล.
การใช้งาน High Level API : Forms อ. วิวัฒน์ ชินนาทศิริกุล.
เทคนิคการใช้ โปรแกรมเพาเวอร์พอยต์
ใบสำเนางานนำเสนอ:

อ.วิวัฒน์ ชินนาทศิริกุล GUI ของ MIDP อ.วิวัฒน์ ชินนาทศิริกุล

GUI คืออะไร 1. High Level API 2. Low Level API GUI (Graphic user interface) คือส่วนที่ใช้ติดต่อกับผู้ใช้งาน เช่น การแสดงผล การรับข้อมูล การตรวจสอบเหตุการณ์ต่างๆ GUI มี 2 ประเภท 1. High Level API 2. Low Level API

High Level API เป็นอินเทอร์เฟซ สำหรับการรับและแสดงผลข้อมูล เช่น กล่องข้อความ (textbox) รายการ (List) High Level API มีลักษณะคล้าย Control ของ Visual Basic ซึ่งสามารถเลือกมาสร้างเป็นอ็อบเจกต์ใช้งานใน MIDlet ได้ทันที คลาสของ High Level API เป็นคลาสที่สืบทอดมากคลาส Screen

ข้อเสียของการใช้ High Level API ผู้พัฒนาโปรแกรมไม่สามารถควบคุม หรือเปลี่ยนแปลงลักษณะบางอย่างของอ็อบเจกต์ได้ เช่น ขนาด ตำแหน่ง สี รูปแบบตัวอักษร ข้อดีของการใช้ High Level API ผู้พัฒนาโปรแกรมไม่ต้องกังวลเรื่องการแสดงผลในอุปกรณ์ที่แตกต่างกัน เพราะ High Level API มีตัวจัดการเรื่องการแสดงผล ทำให้ผู้พัฒนาสร้างและใช้อินเตอร์เฟซ อย่างอิสระโดยไม่ขึ้นกับฮาร์ดแวร์ หรืออุปกรณ์ที่จะรัน MIDlet

Low Level API ออกแบบมาสำหรับ MIDlet ที่ต้องการแสดง หรือจัดการเกี่ยวกับกราฟิกโดยตรง เช่น แสดงข้อความ วาดเส้นตรง วงกลม หรือการตรวจสอบเหตุการณ์ต่างๆในระดับต่ำ เช่น สถานะการกดปุ่ม คลาสของ Low Level API สืบทอดมาจากคลาส Canvas ในการใช้ Low Level API หากนำ MIDlet ไปรันในอุปกรณ์ที่แตกต่างกัน อาจทำให้ได้ผลการทำงานที่แตกต่างกัน เช่น ถ้าออกแบบหน้าจอไว้ที่ขนาด 100x90 พิกเซล แล้วนำ MIDlet ไปรันในอุปกรณ์ที่มีขนาดเล็กกว่า ก็จะทำให้เกิดปัญหาในการแสดงผล

อ็อบเจกต์ Display ในการทำงานของ MIDlet ไม่ว่าจะใช้ High Level API หรือ Low Level API ก่อนที่อ็อบเจกต์ต่างๆ จะแสดงออกมาให้เห็นทางจอภาพได้ ตัว MIDlet จะต้องติดต่อกับจอภาพของอุปกรณ์ผ่านตัวจัดการจอภาพ ซึ่งใน MIDlet คืออ็อบเจกต์ที่ชื่อ Display ตัวอย่างโค้ด Display display; … display=Display.getDisplay(this);

Displayable Class Displayable Canvas Screen Alert Form List Textbox Low-Level API High-Level API Item StringItem ImageItem TextField DateField Gauge ChoiceGroup

คลาส Screen Screen เป็นคลาสสำหรับ GUI แบบ High Level API ซึ่งมีคลาสย่อยอีก 4 คลาส คือ 1. Alert 2. Textbox 3. List 4. Form

จะแสดงผลข้อมูลที่หน้าจอต้องทำอย่างไร 1. สร้างอ็อบเจกต์ของคลาส Display เช่น Display display; หรือ Display d; 2. ใช้เมธอด getDisplay() คลาสของ Display กำหนดค่าให้อ็อบเจกต์ เช่น display=Display.getDisplay(this); 4. สร้างอ็อบเจกต์ของคลาส Screen ที่ต้องการใช้งาน 3. ส่งอ็อบเจกต์ของคลาส Screen หรือ คลาส Canvas ไปแสดงผลด้วย เมธอดsetCurrent() เช่น display.setCurrent(alert); เมื่อ alert เป็นอ็อบเจกต์ของคลาส Alert display.setCurrent(t); เมื่อ alert เป็นอ็อบเจกต์ของคลาส TextBox

คลาส TextBox รูปแบบของ TextBox TextBox ใน MIDlet เป็นช่องรับข้อความขนาดใหญ่จำนวน 1 ช่อง (ปกติจะมีขนาดเท่ากับหน้าจอมือถือ) รูปแบบของ TextBox TextBox(String title,String text,int Maxsize,int Constraints)

Constraints เป็นรูปแบบการรับข้อมูลของ TextBox มีดังนี้ TextField.ANY TextField.EMAILADDR TextField.NUMERIC TextField.PASSWORD TextField.PHONENUMBER TextField.URL

ตัวอย่าง การสร้าง TextBox รับข้อมูล

ผลการรันโปรแกรม

คลาส Command รูปแบบคำสั่งในการสร้าง Command Command(String label,int commandType, int priority) โดยที่ label คือ ข้อความ CommandType คือ รูปแบบของ Command priority คือ ลำดับความสำคัญของ Command

CommandType เป็นตัวกำหนดรูปแบบของ Command มีดังนี้ Command.OK Command.CANCEL Command.STOP Command.EXIT Command.BACK Command.HELP Command.ITEM Command.SCREEN

รูปแบบที่ได้ของ Command จะขึ้นอยู่กับอุปกรณ์ที่รัน MIDlet เมื่อ MIDlet ทำงาน อุปกรณ์บางตัวจะนำ Command ไปผูกกับปุ่ม Soft key ด้านซ้าย แต่อุปกรณ์บางตัวจะนำ Command ไปผูกกับปุ่ม Soft key ด้านขวา กรณีที่มี Command มากกว่า 2 ตัว ค่า Priority ที่กำหนดจะมีผล โดยอุปกรณ์จะนำ Command ที่มีค่าความสำคัญมากที่สุดไปผูกกับ Soft key ส่วน Command ที่เหลือจะถูกรวมอยู่ในเมนู

Command Class (ต่อ) การสร้างอ็อบเจกต์ของคลาส Command จะต้องส่งค่าพารามิเตอร์ไปให้ 3 ตัวคือ 1. Label 2. Type 3. Priority เช่น ok=new Command(“ok",Command.OK,1); cancel=new Command("cancel",Command.CANCEL,2);

Command Class (ต่อ) จากนั้นจึงนำอ็อบเจกต์ Command ไปใส่อ็อบเจกต์ของคลาส Canvas หรือคลาส Screen ด้วยเมธอด addCommand() เช่น นำ Command ok ไปใส่อ็อบเจกต์ TextBox ใช้คำสั่ง textbox.addCommand(ok);

ตัวอย่าง การเพิ่ม Command ใส่ TextBox

ผลการรันโปรแกรม

การตรวจสอบการทำงานของ Command เมื่อต้องการ ตรวจสอบว่าผู้ใช้งานมีการเลือก Command อะไร ให้เพิ่มคำสั่ง implements CommandListener ที่คลาส เช่น public class Example extends MIDlet implements CommandListener{ } กำหนดเมธอด setCommandListen() ให้อ็อบเจกต์ของคลาส High Level API ที่มี อ็อบเจกต์ Command อยู่ เช่น textbox.setCommandListener(this); และเพิ่มเมธอด commandAction() ที่มีการรับค่าพารามิเตอร์ 2 ตัวคือ command และ displayable แล้วนำพารามิเตอร์ command ไปตรวจสอบ

การตรวจสอบการทำงานของ Command (ต่อ) ตัวอย่างการตรวจสอบการเลือก Command ที่เมธอด commandAction public void commandAction(Command c, Displayable d) { if(c==ok){ …. }else if(c==quit){ }

ตัวอย่าง การตรวจสอบการเลือก Command

ตัวอย่าง การตรวจสอบการเลือก Command (ต่อ)

ผลการรันโปรแกรม ผลลัพธ์ที่หน้าต่าง Output

คลาส Alert คลาส Alert ใช้สำหรับแสดงข้อความแจ้งผู้ใช้งาน เช่น เตือนเมื่อมีการป้อนข้อมูลผิด รูปแบบ Alert(String title, String alertText, Image alertImage, AlertType alertType) โดยที่ title คือ ข้อความ title ของ Alert alertText คือ ข้อความของ Alert ที่แสดงออกมา

alertImage คือ รูปกราฟิกที่จะแสดง หากไม่มีใช้คำว่า null alertType คือ รูปแบบของ Alert มีดังนี้ 1. AlertType.ALARM 2. AlertType.CONFIRMATION 3. AlertType.ERROR 4. AlertType.INFO 5. AlertType.WARNING

เมื่อสร้างอ็อบเจกต์ Alert แล้วต้องการสั่งให้แสดงผลทางหน้าจอภาพ ให้ส่งอ็อบเจกต์ Alert ให้ Display ผ่านเมธอด setCurrent() เช่น display.setCurrent(alert); ปกติ Alert จะแสดงออกมาทางหน้าจอภาพ ประมาณ 1-2 วินาทีแล้วจะหายไป หากต้องการให้ Alert ปรากฏนาน ต้องกำหนดระยะเวลาด้วย เมธอด setTimeout() ซึ่งมีหน่วยเป็นมิลลิวินาที เช่น alert.setTimeout(5000);

ตัวอย่าง แสดงข้อความด้วย Alert

ตัวอย่าง แสดงข้อความด้วย Alert (ต่อ)

ผลการรันโปรแกรม

แบบฝึกหัด 1. ให้นักศึกษา สร้าง MIDlet ใหม่ตั้งชื่อ HW_TextBox1 แล้ว กดปุ่ม OK ให้แสดงข้อมูลที่ป้อนด้วยหน้าต่าง Alert 2. ให้นักศึกษา สร้าง MIDlet ใหม่ตั้งชื่อ HW_TextBox2 แล้ว กดปุ่ม OK ให้แสดงข้อมูลที่ป้อนที่ TextBox อีกตัวหนึ่ง

เอกสารอ้างอิง เก่ง J2ME ให้ครบสูตร โดย ทรงเกียรติ ภาวดี