วันพฤหัสบดีที่ 30 มิถุนายน พ.ศ. 2554

ตัวอย่างการสร้าง Beans

การสร้าง Beans เพื่อนำไปใช้ใน BeansBox เราสามารถเขียนโดยการสร้างเป็น File.java
โดยต้องมีการศึกษาวิธีการเขียนและเขียนให้ถูกต้องตามหลักการสร้าง Beans
หลังจากนั้นต้องนำไฟล์ java ไปสร้างเป็นไฟล์ jar เพื่อนำไปใช้งานใน BeansBox
วิธีการไม่ยาก ตามวิธีที่จะกล่าวด้านล่างต่อไปนี้


1. สร้าง Manifest File (ไฟล์ที่รวบรวมรายละเอียดของ Jar File) ดังนี้



รายละเอียดการสร้าง Manifest File

Main-Class : ชื่อ Package.ชื่อ Class
Name : ชื่อ Package/ชื่อ Class.class
Java-Bean : True
---- เว้นบรรทัด 1 บรรทัดด้วย ----

เสร็จแล้วจัดการเซฟเป็นไฟล์นามสกุล.mf
จากตัวอย่าง : save as -- Counter.mf






2. นำไฟล์ .java ใส่ในโฟลเดอร์เดียวกับ Manifest File ที่สร้างไว้้
ทำการ Compile ไฟล์ Java โดยใช้คำสั่งดังนี้ --- javac -d . ชื่อไฟล์.java

ตัวอย่าง





ผลลัพธ์ คือ จะได้ Folder ที่ชื่อเหมือน Package (ในที่นี้คือCounter)
ที่มีไฟล์.class อยู่ข้างใน ตามภาพนี้










3. สร้างไฟล์นามสกุล .jar โดยใช้คำสั่งดังนี้ --- jar -cfm ชื่อไฟล์.jar ชื่อไฟล์.mf .\ชื่อโฟลเดอร์\*.*
ความหมายของคำสั่งนี้ คือ สร้างไฟล์ .jar โดยบันทึกเป็น ชื่อไฟล์.jar โดยดึงข้อมูลจาก ชื่อไฟล์.mf และดึงไฟล์จากโฟลเดอร์ ชื่อโฟลเดอร์ ทั้งหมดสร้างออกมาเป็นไฟล์ Jar

ตัวอย่าง





ผลลัพธ์ คือ ได้ไฟล์ .Jar ออกมาดังภาพ









4. หลังจบขั้นตอนที่ 3 เราสามารถนำไฟล์ .jar ที่เราสร้างไปใช้งานใน BeansBox ได้แล้ว
ต่อไปเป็นการนำไปใช้ใน BeansBox เริ่มจากรันโปรแกรม Beanbox
โดยเข้าไปใปที่โฟลเดอร์ BeansBox แล้วกดรันที่ File ตามภาพ

















5. เมื่อหน้าต่างโปรแกรมขึ้นมา ทำการ Load ไฟล์ Jar ที่เราได้สร้างไว้โดยเลือก File--LoadJar
เลือกไฟล์ Counter.Jar ที่เราได้สร้างไว้เข้ามา
















ผลลัพธ์ คือ ใน Tool Box จะทำการเพิ่ม Counter เข้าไปให้เลือกใช้งานได้




















6. ต่อไปเป็นการประกอบส่วนต่างๆเข้าด้วยกันเพื่อใช้งาน Counter โดยใช้ Tool ดังนี้
- Counter ที่เราสร้างขึ้น ลากมาใส่ได้เลย
- OurButton สร้างปุ่ม Start - Stop - Reset โดยคลิกมาวางแล้วเปลี่ยนค่าในช่อง Propertie - Label
- TickTock เนื่องจากมีการใช้การนับเวลาเหมือนจับนาฬิกาต้องใช้เครื่องมือนี้ด้วย
ลากเข้ามาใส่ ตั้งค่าในกล่อง Properties ช่องinterval เป็น 1 (เพิ่มขึ้นทีละ1)

ผลลัพธ์ออกมาดังภาพ
























7. หลังจากประกอบเสร็จแล้วก็ทำการใส่ Event ให้ Our Button และ TickTock ดังนี้
- ตั้งค่า Event ให้กับ Button
กดเลือกที่ปุ่มที่จะตั้งค่า ให้ไปที่ Edit --Events--mouse--mouseClicked
จะมีเส้นแดงปรากฏออกมา ลากเส้นแดงให้ปลายทางชี้ไปที่ Counter


จะมีหน้าต่างให้เลือก Event เลือกดังนี้
- ปุ่ม Start เลือก start
- ปุ่ม Stop เลือก stop
- ปุ่ม Reset เลือก reset

เสร็จสิ้นการตั้งค่าปุ่ม











- ตั้งค่า Event ให้กับ TickTock
กดเลือกที่ปุ่มที่จะตั้งค่า ให้ไปที่ Edit --Events--propertyChange--propertyChange
จะมีเส้นแดงปรากฏออกมา ลากเส้นแดงให้ปลายทางชี้ไปที่ Counter


จะมีหน้าต่างEvent ปรากฏขึ้น
เลือก increment













8. เรียบร้อยแล้ว ลองกดปุ่มดู ถ้ากด Stop จะหยุด Reset จะกลับเป็น 0 และ Start จะเริ่มนับใหม่




---- start





---- stop





---- reset

วันอาทิตย์ที่ 26 มิถุนายน พ.ศ. 2554

Package Scope


Package Scope

  • public ใช้นิยาม Attribute ,Method และ Class ใดๆ โดยสามารถเรียกใช้กับ Class หรือ โปรแกรมอื่นๆ ได้
    ในกรณีที่เป็น public scope คือการกำหนดตัวแปรหรือ method เป็น public หมายความว่าทุก package สามารถมองเห็นหรือเข้าถึงตัวแปรและ method ได้หมด
  • private ใช้นิยาม Attribute หรือ Method แต่จะสามารถเรียกใช้ได้เฉพาะภายใน Class ที่สร้าง Attribute หรือ Method นั้นๆ ขึ้นมาเท่านั้น เช่น ถ้าประกาศตัวแปร a เป็น private ตัวแปร a ก็จะใช้ได้เฉพาะ Class นั้น Class อื่นจะไม่สามารถมองเห็นได้
    ในกรณีที่เป็น private scope คือการกำหนดตัวแปร
    หรือ method เป็น private หมายความว่าเฉพาะใน package เดียวกันเท่านั้นจึงจะมองเห็นตัวแปรหรือ methodได้ ซึ่งก็คือเป็นการซ่อนตัวแปรหรือ method เพื่อไม่ให้ package อื่นเข้าถึงได้
  • protected ใช้นิยาม Attribute หรือ Method ที่ใช้ได้เฉพาะ Class ที่สร้างขึ้นมาด้วยวิธีการสืบทอด (Inheritance) เท่านั้นโดยปกติจะใช้ protected กับ Class ที่เป็น Class ต้นแบบ
    ในกรณีที่เป็น protected scope คือการกำหนดตัวแปรหรือ method เป็น protected หมายความว่า ใน package เดียวกันสามารถเรียกใช้ตัวแปรได้(แม้จะไม่ได้สืบทอดมา)แต่ถ้าต่าง package จะเรียกใช้ได้ต้องมีการสืบทอดกันมาเท่านั้น เป็นการป้องกันการเข้าถึงจาก package อื่นๆ
  • static ใช้นิยาม Attribute และ Method ที่ต้องการให้มีค่าคงที่ เช่น ขนาดของ Array สามารถนำไปใช้ได้กับทุกๆ ส่วนของ Class โดยค่านั้นจะไม่มีการเปลี่ยนแปลงไม่ว่ากรณีใดๆ
  • void ใช้นิยาม Method โดยเป็นการกำหนดให้ไม่มีการส่งค่าใดๆ กลับมาให้กับ Method นี้(ไม่ต้อง return ค่า)

วันพฤหัสบดีที่ 16 มิถุนายน พ.ศ. 2554

Design Pattern Used in Eclipse

การเริ่มต้นการใช้ Design Pattern ใน Eclipse นั้น เริ่มต้นจากการโหลดไฟล์ Plugin จาก www.patternbox.com ซึ่งจะได้เป็น Zip ไฟล์ จากนั้นทำการแตกไฟล์ลง Folder ที่ชื่อว่า Plugin
ในDirectory ที่เราลง Eclipse ไว้

การใช้ Design Pattern
1. เริ่มต้นด้วยการ New> Java Project สร้างโปรเจคขึ้นมาก่อน
2.จากนั้นกดที่ New>Other เลือก Java จะเจอ Design Pattern Wizard ที่เพิ่มขึ้นมา
เลือกแล้วจากนั้นกด Next
3.จากนั้นจะเข้าสู่หน้า Create a New Design Pattern เลือก Design Patternที่ต้องการใช้ จากนั้นกดที่
Browse เพื่อเลือก Project ที่จะใช้งาน

Class Factory

1.Class ColorChooserComponentFactory


java.lang.Objectjavax.swing.colorchooser.ColorChooserComponentFactory




public class ColorChooserComponentFactory


extends Object
เป้นคลาสที่กำหนดอ็อบเจ็กที่ทำการแทรกเข้าไปซึ่งในที่นี้หมายถึงการแทรกสีที่เพิ่มเติมมา

ในคลาสนี้มี Method อยู่ 2 รูปแบบ ต่างกันที่ว่าจะนำไปใช้กับอะไร

Method ตัวแรก คือ getDefaultChooserPanels

รูปแบบการใช้งาน

public static AbstractColorChooserPanel[] getDefaultChooserPanels()

เป็นการใช้กับรูปแบบ Panel ซึ่งตัวอย่างผลลัพธ์จะได้ดังรูป




Method ตัวที่สอง คือ getPreviewPanel

รูปแบบการใช้งาน

public static JComponent getPreviewPanel()

เป็นการใช้งานกับรูปแบบ JComponent จะได้ตัวอย่างผลลัพธ์ตามภาพดังนี้













2.Class ControlFactory


java.lang.Object javax.naming.ldap.ControlFactory




public abstract class ControlFactory


extends Object

abstact class นี้ ใช้สร้าง LDAPv3 controls ซึ่งใช้นิยาม ใน RFC 2251
เมื่อ service ได้รับการตอบรับของ control, จะมีการใช้ control factorires ในการ return 
the specific/appropriate control class implememtation
Method ที่ใช้คือ getControlInstance()
 
credit : http://download.oracle.com/

Design Pattern in NetBeans # Adapter Design Pattern

เป้าหมายของ Adapter Design Pattern

ช่วยทำให้ class เดิม สามารถเปลี่ยน interface ใหม่ตามความต้องการของลูกค้าได้ โดย Adapter จะช่วยให้ class ที่ไม่สามารถทำงานร่วมกันได้เพราะ interface ไม่ตรงกันสามารถทำงานร่วมกันได้ โดยยังคงใช้ component เดิม


ที่มาของชื่อ Adapter

จากปัญหาการนำระบบเก่ามาออกแบบใหม่มักจะทำให้ผู้ออกแบบต้องประสบปัญหาที่น่าหนักใจที่จะออกแบบอย่างไรจึงจะทันสมัย และสามารถทำงานร่วมกับระบบเก่าได้  ปัญหาเช่นนี้เปรียบเสมือนการนำปลั๊ก 3 ง่ามมาเสียบใส่เต้าปลั๊ก 2 ง่ามซึ่งเป็นแบบเก่า  จึงจำเป็นต้องมี Adapter เพื่อเป็นตัวกลาง


โครงสร้าง

โครงสร้างของ Adapter Pattern

  • Class Target  คือ Class หรือ Interface ที่มี Method ต่าง ๆ ที่ Client สามารถเรียกใช้งานได้
  • Class Client  คือ Class ทำหน้าที่เป็นผู้เรียกใช้ Method ต่าง ๆ ที่ประกาศไว้โดย Target
  • Class Adaptee  คือ Class ที่เป็นที่ต้องการของ Target และจะถูกเรียกใช้โดย Target โดยผ่านทาง Adapter
  • Class Adapter  คือ Class ที่ทำหน้าที่เรียกใช้ Method ของ Adaptee โดย Method ของ Adaptee จะเรียกอยู่ภายใน Method ของ Adapter ซึ่ง Method ของ Adepter จะถูกเรียกใช้โดย Client


ตัวอย่างระบบที่ใช้ Adapter Pattern โดย NetBeans

เป็นระบบที่จำลองการทำงานของรีโมทคอนโทรล (Remote Control) ของเครื่องเล่นวิดีโอตามปกติแล้ว โดย Remote Control ของเครื่องเล่นวีดีโอนอกจากทำหน้าที่หลักในการควบคุมเครื่องเล่นวีดิโอแล้วRemoteControlรุ่นใหม่ๆยังสามารถทำหน้าที่ควบคุมการทำงานบางอย่างของเครื่องเล่นโทรทัศน์ได้อีกด้วย เช่นการเปลี่ยนช่องสัญญาณ(Channel)ของโทรทัศน์ ดังนั้นเราจึงจำเป็นต้องทำให้รีโมทคอนโทรลของวีดิโอมีความสามารถในการเปลี่ยนช่องของรีโมทคอนโทรลของโทรทัศน์ได้ด้วยโดยนำเอาหลักการของ Adapter มาใช้่


(ก่อนจะทำ Adapter Pattern ที่ NetBeans จะต้องทำการติดตั้ง Plugin UML โดยสามารถดูขั้นตอนการติดตั้งได้ ที่นี่)

ใน NetBeans สามารถเลือก Design Pattern มาใช้โดยคลิกขวาที่ Model แล้วเลือก Apply Design Pattern...
แล้วทำตามขั้นตอนตามภาพด้านล่าง



ที่ Project เลือก GoF Design Patterns
Desing Patterns เลือก Structural :: Adapter

 

ที่ Namespace เลือกชื่อ package





ที่หน้านี้จะเป็นการกำหนดกฎตามหลัก adapter pattern




 

จากนั้นทำเครื่องหมายหน้า Create class diagram

เสร็จแล้ว NetBeans จะทำการเพิ่มส่วนที่เป็น Adapter Pattern ให้ในระบบตามภาพตัวอย่าง





Reference :: http://sourcemaking.com/ เข้าถึงเมื่อวันที่ 16 มิ.ย. 2554

วันเสาร์ที่ 11 มิถุนายน พ.ศ. 2554

Netbeans IDE Java Application # 2 วิธีการ Compile และ Run

จากบทแรกที่สอนการสร้าง Project ใหม่ไปแล้ว (คลิกอ่านที่นี่)
ในบทนี้จะแนะนำการ Compile และ Run โปรแกรมที่เราทำการเขียนขึ้นโดยใช้โปรแกรม Netbeans



1. พิมพ์โปรแกรมลงในส่วนของ main Class
ตัวอย่าง จากในภาพส่วน main Class คือ ส่วนที่สีแดงล้อมกรอบไว้
ลองพิมพ์คำสั่งตัวอย่าง คือ System.out.println("Hello World");
ซึ่งเป็นคำสั่งแสดงผลข้อความออกทางหน้าจอ



















2. เมื่อเขียนคำสั่งเสร็จ ก็ต้องทำการ Compile โปรแกรม
ในโปรแกรม Netbeans วิธีการ Compile โปรแกรมทำได้ 2 วิธี คือ
- กดที่ไอคอนดังภาพตัวอย่าง
- กดปุ่ม F6














3. เมื่อ Compile ผ่านแล้ว Netbeans จะ Run ผลลัพธ์ให้ดูอัตโนมัติ
ส่วนล่างของโปรแกรมจะเป็นหน้าต่าง Output ซึ่งแสดงผลลัพธ์ของโปรแกรมดังภาพ
พร้อมทั้งแสดงข้อความ Build Successful ซึ่งหมายถึง Compile ผ่าน ไม่พบ Error














4. กรณีที่พบ Error ในโปรแกรมซึ่งทำให้โปรแกรม Compile ไม่ผ่านนั้น
NetBeans จะแสดง Popup-Message เตือนว่าได้มีการพบ Error ในโค้ดคำสั่งบางตัว
และถามว่า ต้องการจะ Run โปรแกรมต่อไปโดยไม่สนใจ Error หรือไม่ ถ้าต้องการกด Run Anyway
ถ้าไม่ต้องการ Run ต่อไป ให้กด Cancel
















5. โปรแกรมจะแสดงข้อความการ Compile ที่มีการผิดพลาดในหน้าต่าง Output ด้านล่าง
และแสดงสัญลักษณ์เครื่องหมายตกใจในวงกลมสีแดงตรงบรรทัดที่ผมการผิดพลาด
ตัวอย่าง คำสั่งนี้ไม่ได้พิมพ์เครื่องหมาย ; เพื่อผิดคำสั่งทำให้เกิด Error



















6. เมื่อเอาเม้าส์ไปชี้ที่บรรทัดเครื่องหมายนั้น (จากภาพก่อนหน้านี้ทำเครื่องหมาย * ไว้)
โปรแกรมจะแสดงข้อความความผิดพลาดของโปรแกรม
ซึ่งทำให้ผู้ใช้สามารถแก้ไขได้ถูกต้อง
ตัวอย่าง โปรแกรมเตือนว่าลืม ; ปิดคำสั่งในบรรทัดนี้

วันพฤหัสบดีที่ 9 มิถุนายน พ.ศ. 2554

Netbeans IDE Java Application # 1 เริ่มต้นด้วยการ New Project

ขั้นตอนการ New Project ของ Java Application

1. เลือก File > New Project... (หรือกด : Ctrl+Shift+N) ก็จะได้หน้าต่างสำหรับ New Project ปรากฏขึ้นมาดังรูป ในช่อง Category ให้เลือก Java  ส่วน Project ให้เลือก Java Application จากนั้นกด Next >


2. ในหน้า Name and Location จะเป็นการกำหนดชื่อโปรเจคและตำแหน่งที่เก็บไฟล์ของโปรเจคโดยจะมีรายละเอียดดังนี้
  • Project Name : ชื่อโปรเจค
  • Project Location : ตำแหน่งที่เก็บไฟล์
  • Project Folder : โฟลเดอร์ที่เก็บไฟล์โปรเจค โดย Netbeans IDE จะทำการกำหนดให้โฟลเดอร์ชื่อเดียวกับโปรเจค
  • ในช่อง Create Main Class คือการกำหนดชื่อ class หลักของโปรเจค หากไม่ต้องการสร้าง main class ให้นำเครื่องหมายออก
จากนั้นให้กด Finish เป็นอันเสร็จการ New Project


จากภาพตัวอย่าง Project Name :  HelloWorldApp

  

วันพุธที่ 8 มิถุนายน พ.ศ. 2554

การเริ่มต้นใช้งาน Eclipse [1]

ขั้นตอนการติดตั้ง
1. download file zip จาก http://www.eclipse.org/
2. แตกไฟล์ zip ใน Directory ที่ต้องการลงโปรแกรม
ครั้งแรกที่เปิดใช้งานจะขึ้นหน้าต่าง ให้เลือกที่เก็บงาน



วิธีการสร้าง Project
ไปที่ File ที่มุมซ้ายบน เลือก New > java project

จากนั้นจะเกิดหน้าต่างให้ใส่ชื่อ โปรเจค แล้วกด Next หรือ Finish


วิธีการสร้างไฟล์จาวา
ไปที่ file > new > class
จากนั้นใส่รายละเอียดของ class


ตัวอย่างโปรแกรม Hello World