การเขียนโปรแกรมบนวินโดวส์ด้วยจาวา

chapter 1 การเขียนโปรแกรมบนวินโดวส์ด้วยจาวา

เราคงทราบและรู้จักกับภาษาจาวากัน ดี หากคุณเป็นผู้หนึ่งที่ชอบท่องเที่ยวบนอินเตอร์เน็ต หรือชอบการเขียนโปรแกรม แต่ถ้าจะถามว่าคุณรู้จักจาวา หรือคุณใช้จาวาเขียนอะไร หลาย ๆ ท่านอาจจะบอกเป็นเสียงเดียวกันว่า เขียนแอพเพล็ต (Applet)

ภาษาจาวามีความสามารถในการพัฒนาแอ พเพล็ต และนอกจากนั้น เรายังสามารถใช้จาวาพัฒนาโปรแกรมบนเพลตฟอร์มได้อีกด้วย ไม่จำเป็นว่าจาวาจะใช้พัฒนาแอพเพล็ตได้เพียงอย่างเดียวการพัฒนาโปรแกรมบน วินโดวส์ด้วยภาษาจาวา ก็มีลักษณะเช่นเดียวกับการพัฒนาโปรแกรมด้วย Visual Basic หรือภาษา C++ นั่นเอง ซึ่งเราจะต้องสร้างวินโดวส์ สร้างปุ่มกดหรือคอนโทรลต่าง ๆ ไว้ภายในวินโดวส์ และใช้มันทำงานเหมือนกับโปรแกรมทั่ว ๆ ไป

เราอาจไม่พบเห็นโปรแกรมที่เขียน ขึ้นโดยภาษาจาวาบ่อยนัก อาจเป็นเพราะจาวาไม่เหมาะในการสร้างแอพพลิเคชั่นก็เป็นได้ อาจจะด้วยความล่าช้าเพราะมันทำงานบน Virtual Machine แต่ในความสามารถบางอย่างของภาษาจาวานั้น การพัฒนาโปรแกรมสามารถทําได้ง่ายและเร็วกว่าภาษาอื่น

จาวาเป็น OOP

จาวาเป็นภาษาหนึ่งที่อาจเรียกได้ ว่าสืบทอดมาจากภาษา C++ อีกทีหนึ่ง เป็นภาษาที่รวมความเป็น OOP (Object Oriented Programming) พื้นฐานทางภาษาของจาวาอยู่ในรูปของภาษา C++ ทั้งการกำหนดฟังก์ชั่น การสร้างอ๊อปเจ็กต์ต่าง ๆ และได้ตัดความซับซ้อนและข้อเสียบางอย่างออกไป ถ้าเราเขียนสมการของภาษาจาวา เราสามารถเขียนได้ดังนี้

ภาษาจาวา = “ภาษา C++” – “ความซับซ้อน” + “ระบบความปลอดภัย” + “การข้ามเพลตฟอร์ม”

พื้นฐานการเขียนโปรแกรมภาษาจาวา คุณจะต้องรู้จักกับการเขียนโปรแกรมแบบ OOP เสียก่อนสักเล็กน้อย เพื่อให้การเขียนโปรแกรมเป็นไปได้ง่ายขึ้น หากคุณเคยเขียนโปรแกรมบนวินโดวส์มาก่อน คุณสามารถศึกษาภาษานี้ได้ไม่ยากเลย

ความสามารถในการทำงานข้ามระบบ

ในการสร้างโปรแกรมหรือจาวาแอพเพล็ต คุณจะต้องสร้างซอร์สโค๊ดภาษาจาวาและทำการคอมไพล์โปรแกรมด้วย Java Compiler โปรแกรมของคุณจะอยู่ในรูปของไบต์โค๊ด (Byte Code) และคุณสามารถนำมันไปรันในระบบต่าง ๆ ได้หลายระบบเช่น Unix , Mac หรือ Windows เราเรียกการทำงานลักษณะนี้ว่า การข้ามระบบหรือ Cross Plateform

ลองอ่านเรื่องของการ cross plateform ที่ได้ทดลองเอา application ที่เป็น java ไปรันบน X – Windows ดูสิครับ click here

คุณสมบัติของภาษาจาวาข้อนี้คุณอาจ จะไม่พบในการเขียนโปรแกรมบนวินโดวส์ด้วยภาษาอื่น ๆ เช่น Visual Basic หรือ Visual C++ ซึ่งคุณไม่สามารถนำมันไปรันบนระบบอื่นได้ ยกเว้นระบบวินโดวส์อย่างเดียวแต่จาวาได้ทำลายกำแพงกั้นระหว่างระบบนี้ลงได้ แล้ว

เครื่องมือในการพัฒนาโปรแกรมจาวา

เครื่องมือในการพัฒนาโปรแกรมภาษาจา วามีมากมายหลายโปรแกรมในปัจจุบัน ตั้งแต่โปรแกรมสร้างจาวาแอพเพล็ต เช่น JDK , Jamba หรือ AppletAce ไปจนถึงโปรแกรมสร้างจาวาแอพพลิเคชั่นใหญ่ ๆ เช่น Visual Cafe หรือ Visual J++

จาวาได้เตรียมไลบราลี่และส่วน ประกอบจำเป็นต่าง ๆ ในการเขียนโปรแกรมมาให้ เพื่อให้คุณสามารถพัฒนาโปรแกรมได้ง่าย ๆ และธรรมดาที่สุด เหมือนการกลับไปสู่การพัฒนาโปรแกรมแบบเดิม โดยใช้โปรแกรม Notepad ธรรมดา ๆ หรือโปรแกรม Vi ในยูนิกส์ คุณก็สามารถสร้างโปรแกรมภาษาจาวาได้

หากเราไม่พูดถึงข่าวที่ว่า SDK for Java ของไมโครซอฟต์ไม่สามารถนำไปรันข้ามเพลตฟอร์มได้ ผมก็ขอแนะนำให้คุณหา SDK for Java มาทดลองใช้ดู ถึงแม้ว่าโปรแกรมจาวาที่คอมไพล์โดย SDK for Java จะมีปัญหาในการ Cross Plateform ก็ตาม แต่เราก็ยังสามารถนำซอร์สโค๊ดไปคอมไพล์ด้วย JDK ในระบบอื่นได้อยู่ เพราะฉะนั้นตรงนี้จึงไม่เป็นปัญหา เพราะบทความนี้ จะเสนอการเขียนโปแรกรมบนวินโดวส์ด้วยภาษาจาวาโดยเฉพาะ

การคอมไพล์และรันโปรแกรมภาษาจาวาด้วย JDK

JDK จะมีโปรแกรม 2 ตัวที่ผมจะแนะนําให้รู้จักกันก่อน ซึ่งก็คือตัวคอมไพเลอร์ (Compiler) และตัวแปลภาษา (interpretor)

การคอมไพล์โปรแกรมภาษาจาวา

javac.exe เป็นคอมไพล์เลอร์ภาษาจาวาของ JDK ผลที่ได้จากการคอมไพล์ก็คือไฟล์นามสกุล.class ซึ่งจะใช้ในการคอมไพล์ได้ทั้ง Applet และ Application รูปแบบการใช้งานก็แสนจะง่าย ดังนี้

javac program.java

ตัวอย่างเช่น หากเราต้องการคอมไพล์โปรแกรม test.java ให้คุณพิมพ์คำสั่งที่คอมมานด์ไลน์ดังนี้

C:> javac test.java

คราวนี้คุณก็จะได้ไฟล์ test.class มาพร้อมทำการรันเรียบร้อยแล้ว

การรันโปรแกรมภาษาจาวา

ในการรันโปรแกรมม .class นั้น เราจะใช้โปรแกรม java.exe หรือ jview.exe ซึ่งเป็นตัวแปลโปรแกรมจาวาที่จะมีมาให้เมื่อคุณติดตั้ง Internet Explorer หรือ JDK แล้ว โปรแกรมนี้จะใช้สําหรับรันโปรแกรมจาวาที่เป็น Application เท่านั้น รูปแบบของ Jview.exe มีลักษณะดังนี้

jview ชื่อไฟล์

หรือ

java ชื่อไฟล์

ตัวอย่างการใช้ jview รันโปรแกรม test.class คุณจะต้องเรียกดังนี้

C:> jview test

การสร้างคอนโซลแอปพลิเคชั่น

การเขียนโปรแกรมในโหมดคอนโซล (Console Application) หรือโหมดคอมมานด์ไลน์เป็นโปรแกรมในลักษณะของบรรทัดคําสั่ง เช่นเดียวกับการเขียนโปรแกรมบนดอส คือ โปรแกรมจะเรียก Dos Prompt และจะทํางานเช่นเดียวกับโปรแกรม ftp หรือโปรแกรม ping ที่มีมาพร้อมกับการติดตั้งวินโดวส์นั่นเอง

การเริ่มต้นกับภาษาจาวา

เราควรจะเริ่มกันตรงที่การสร้าง โปรแกรมในแบบคอนโซลนี้กันก่อน เพื่อศึกษารูปแบบของภาษา , การใช้เงื่อนไขต่าง ๆ ตลอดจนถึงการใช้ตัวคอมไพเลอร์และตัวแปลภาษาจาวา

โปรแกรมภาษาจาวาจะทํางานอยู่ภายใน คลาส ๆ เดียว ซึ่งภายในคลาสนั้นจะต้องมีฟังก์ชั่น main() รวมอยู่ด้วยเช่นเดียวกับภาษาซีนั่นเอง โปรแกรมแรกที่เราจะมาทดลองกันมีดังนี้

ให้คุณพิมพ์โปรแกรมต่อไปนี้ด้วย Notepad หรือโปรแกรม edit ในโหมดดอสโดยเซฟในชื่อ Easy.java

class Easy{

public static void main(String arg[]){

System.out.println(“Easy Java “);

}

}

จากนั้นให้คุณทดลองคอมไพล์โปรแกรมโดยใช้ javac.exe ดังต่อไปนี้

c:>javac Easy.java

คุณจะได้ไฟล์ Easy.class มา หากคุณลองใช้คําสั่ง dir ดูรายชื่อไฟล์ ให้คุณทําการคอมไพล์โดยใช้ jview.exe ดังรูปแบบต่อไปนี้ คุณจะพบกับข้อความว่า Easy Java ปรากฏอยู่บนจอภาพ

c:>java Easy
Easy Java

การสร้างโปรแกรมบนวินโดวส์

การสร้างโปรแกรมบนวินโดวส์ด้วยภาษา จาวา ก็มีลักษณะเช่นเดียวกับการเขียนโปรแกรมด้วย Visual Basic เครื่องมือและอุปกรณ์ที่ใช้ในการพัฒนาโปรแกรมจาวาที่น่าสนใจมีมากมายหลายตัว แต่คุณสามารถใช้โปรแกรม Edit.com หรือ Notepad ในการเขียนโปรแกรม ให้คุณลองพิมพ์โปรแกรมต่อไปนี้ จากนั้นเซฟในชื่อ Window.java

import java.awt.*;
public class Window extends Frame{

public Window() {

setBackground(Color.lightGray);
setTitle(“Title Bar”);

}

public void paint(Graphics g) {

resize(200,200);

}

public static void main(String args[]) {

Window win = new Window();
win.show();

}

}

เมื่อคุณพิมพ์เสร็จแล้ว ให้คุณคอมไพล์โปรแกรมโดยใช้วิธีต่อไปนี้

C:>javac Window.java

คราวนี้ลองรันโปรแกรม Window.class เพื่อดูผลการทํางาน โดยพิมพ์คําสั่งต่อไปนี้

C:>java Window

จากนั้นคุณจะพบกับวินโดวส์เปล่า ๆ บนจอภาพ เมื่อรันโปรแกรม คุณจะไม่สามารถกลับไปสู่ Prompt ได้อีก หากคุณต้องการปิดโปรแกรม Window นี้ ให้คุณกดปุ่ม Ctrl+C ที่บรรทัดคําสั่ง โปรแกรมจะปิดและกลับสู่ Prompt อีกครั้ง

จาก Applet มาสู่ Application

สิ่งหนึ่งที่แตกต่างกันระหว่างจาวา ที่เป็น Applet และจาวาที่เป็น Application ก็คือการทํางานของมันเพราะ Applet ต้องอาศัย HTML และเวปบราวเซอร์ และอีกสิ่งหนึ่งที่ต่างกันก็คือ ส่วนที่เป็นฟังก์ชั่น main() ภายในโปรแกรมจาวา

จากโปรแกรม Easy.java และ Window.java ที่เราได้ทดลองสร้างกัน คุณจะพบว่า รายละเอียดภายในโปรแกรมจะมีอยู่ฟังก์ชั่นหนึ่งที่เหมือนกัน นั่นคือ ฟังก์ชั่น main() โปรแกรมจาวาที่เป็น Appication จะต้องมีฟังก์ชั่น main() แต่โปรแกรมจาวาที่เป็น Applet ที่ไม่จําเป็นต้องมีฟังก์ชั่นนี้ มันจะมีฟังก์ชั่นพวก init() , start() , stop() เข้ามาเป็นตัวควบคุมแทน

เพราะฉะนั้น จากโปรแกรมจาวาที่เป็น Applet เราสามารถใช้วิธีง่าย ๆ เพื่อแปลงจากความเป็น Applet ให้มาทํางานแบบ Application ได้ โดยเปลี่ยนการสืบทอดคลาสจาก Applet มาเป็น Frame และนําโค๊ดโปรแกรมจากฟังก์ชั่น init() ใน Applet มาไว้ในคอนสตรัคเตอร์ของ Application และทําการเพิ่มฟังก์ชั่น main() ลงไปในโปรแกรม ส่วนรายละเอียดของฟังก์ชั่นอื่น ๆ เช่น init() , start , stop ก็เก็บไว้ในส่วนที่เหมาะสมเช่น คอนสตรัคเตอร์ และดีสตรัคเตอร์ เป็นต้น

ใส่ความเห็น