35
บทที 12 การเขียนโปรแกรมโดยใช้ NetBeans

การเขียนโปรแกรมโดยใช้ NetBeans

Embed Size (px)

Citation preview

บทท 12

การเขยนโปรแกรมโดยใช

NetBeans

โปรแกรม NetBeans เปนโปรแกรม IDE ส ำหรบเขยนโปรแกรมภำษำจำวำในลกษณะตำงๆ เปนโปรแกรมทเพยงแตเตม และจดระเบยบโคดโปรแกรม กสำมำรถสรำงโปรแกรมประยกตไดงำย และเปนโปรแกรมทหำใชไดฟร

กำรเขยนโปรแกรมดวย NetBeans นนจะไมตองพมพค ำสงเพอรนโปรแกรม เนองจำกมเมนค ำสงตำงๆ กำรเขยนโปรแกรมเมอพมพค ำสงลงไป โปรแกรมจะประมวลผลเพอพจำรณำวำเปนค ำสงหรอเมธอดใด จำกนนจะแสดงค ำสงทนำจะเปนออกมำใหเลอกใช ซงเหมำะกบผ ท เขยนโปรแกรมไมคลอง และผ ทไมชอบจ ำเมธอดตำงๆ

เรมตนการสราง Project บนNetbeans

เลอกเมน File -> New Project

เลอก Java -> Java Application

ก าหนดชอ Project ในสวนของ Create Main Class ใหตกออก จากนนเลอก Finish

ตอนนไดโปรเจคเปลา ๆ ยงไมมไฟล

.java

สราง Package โดยการคลกขวา Project -> New -> Java Package...

ใสชอ Package เชน com.java.myapp

ได Package เชน com.java.myapp เรยบรอยแลว

สรางไฟล Class ของ Java

คลกขวาท Package เลอก New -> Others...

การสราง GUI ในการสรางไฟล .java แบบ GUI สามารถเลอก Class ไดหลายตวมาก เชน

Swing GUI Forms และภายใน Swing กม Class แยกยอยอกหลายตว เชนเดยวกน

หรอจะเลอกใช AWT GUI Forms ซงจะแยกยอย Class ไดอก 4-5 ตว

หลายคนจะยงสงสยวาจะเลอกตวไหนด ซงปกตแลวพวกการเลอกพวก GUI ตาง ๆ เปนเพยงคา Default เรมตนตอนท

สรางไฟล Classเทานน แตหลงจากทสรางแลว เราสามารถท าการแกไข Code ตาง ๆ และเรยกใชงาน Class ตาง ๆ เพม

ไดทหลง และสามารถใชไดทงSwing และ AWT หรออน ๆ ในการออกแบบและสราง Form ได

ในขนตอนนใหเลอก Swing GUI Forms -> JFrame Form

ก าหนดชอ Class

ตอนนไดเราได Class ทม .java เรยบรอยแลว พรอมทง Form เปลา ๆ ทโปรแกรมสรางมาให

จะเหนวาม Toolbox ทประกอบดวย Controls และ Object ตาง ๆ มากมาย ทไวออกแบบ Form

กอนอนใหเราเขาใจเกยวกบ Layout ของ Form ซะกอน ซงปกตแลวเวลาเราเขยนบน VB.Net หรอ Visual Studio จะมการ

จดพวกControl ตาง ๆ ตามต าแหนง X , Y ของ Form แตในภาษา Java เราสามารถเลอกทจะจดรปแบบของ Control และ

Object ตาง ๆ ได เชน จะเปนแบบ GridLayout (ใหนกถง HTML แบบ Table) และอน ๆ อกหลายรปแบบ แตในคา

พนฐานแนะน าใหปรบเปน Null layout คอจดวางต าแหนงแบบ X , Y เหมอนกบ VB.Net ทเราคนเคย

ตอนนไดเราได Class ทมทดสอบการสราง Label , TextField และ Button ดวย (JLabel, jTextField และ jButton) อาศย

การลากวาง ๆ .java เรยบรอยแลว พรอมทง Form เปลา ๆ ทโปรแกรมสรางมาให

ปรบแต Properties ของ Form ซะหนอยดวยการคลกท Form แลวไปท

หรอจะปรบแตงพวก Size ไดตามขนาดทตองการ

ทดสอบการรนโปรแกรม

เลอก Class ทเราไดสรางไวเพอท าการ Run

ไดผลลพธดง

รป

สรป จากผลลพธจะเหนวา Netbeans ชวยใหเราสราง Form GUI ดวย Java แบบงายมาก ๆ โดยทเรายงไมไดเขยน Code

เลยซะบรรทด กสามารถสราง GUI ไดแลว และขนตอนถดไป หลงจากได GUI แลว เราจะตองสราง Event เหตการณตาง

ๆ กบ User เชนการรบคาผาน Input และแสดง Dialog โตตอบแบบงาย ๆ

Tip&Trick

ในการ code ค าสงตางๆ เราสามารถกด CTRL+SpaceBar เพอเรยกดไดวาสามารถใช method หรอเรยก Attribute ใดมา

ใชไดบาง หรอบางท NetBeans กจะขนสวนนมาใหเอง

เมอท าการแกไข Code เสรจเรยบรอย เราจะลองท าการ Run โปรแกรมนด โดยการกดป มสเขยวทอยดานลางแถบ

เมน

โดย NetBeans จะท าการ Save ใหอตโนมตทกครงทจะท าการ Run ถา NetBeans ท าการ compile แลวไมพบ error

โปรแกรมจะแสดงผลทสวนดานลางดงภาพ

การสราง app android

เรมตนสรางแอปพลเคชนแอนดรอยดบน Eclipse

เรมตนสรางโปรเจค

เรมแรกใหเลอกไปท File > New > Android Application Project

ถาไมมใหเลอกกใหไปท File > New > Other.. แทน จะมใหเลอก Android > Android Application Project

(แปลวาไมไดตดตง ADT Bundle แตไปใช Eclipse แบบธรรมดาแทนแนๆ แนะน าใหเปลยนไปลง ADT Bundle แทน)

จะมหนาตางใหก าหนดคาตางส าหรบโปรแกรม โดยหนาแรกสดจะประกอบไป

ดวย

Application Name : ชอแอปพลเคชนทจะแสดงบนเครองของผใช

Project Name : ชอโปรเจคของแอปพลเคชนทจะแสดงใน Eclipse

Package Name : ชอแพคเกจของแอปพลเคชนน

Minimum Required SDK : เวอรชนของแอนดรอยดขนต าทรองรบ

Target SDK : เวอรชนของแอนดรอยดทจะใชในโปรเจคน

Compile With : เวอรชนของแอนดรอยดทจะใช Compile โปรเจคน

Theme : ธมหรอรปแบบของแอปพลเคชน

ส าหรบ Application Name กบ Project Name สามารถตงชอแตกตางกนได แต Project Nameไมแนะน าใหมเวนวรรค

ในขณะท Application Name สามารถก าหนดไดตามปกต

สวน Package Name เปนเสมอนชอทเอาไวระบแอปพลเคชนนนๆ สามารถดเพมเตมไดท Package Name บน

Android Application คออะไร?

ส าหรบ Theme เอาไวก าหนดรปแบบของ UI เบองตนวาใหมลกษณะยงไง โดยจะมใหเลอกระหวาง None, Holo Dark,

Holo Light และ Holo Dark with Action Bar

จากนนกกดป ม Next > มายงหนาก าหนดวาจะตงคาอะไรบาง ซงไมตองยงอะไร ใหกดปม Next > ตอไปได

เลย

หนาถดมาจะเปนหนาก าหนดไอคอนของแอปพลเคชน ซงจะมภาพไอคอนอยในระดบหนงและสามารถปรบได

เลกๆนอยๆ (ลองกดเลนๆดได) ถาจะใหด แนะน าใหเตรยมภาพไอคอนมาก าหนดไวในหนานเลยดกวา เพราะโปรแกรมจะ

ท าการปรบขนาดของภาพไอคอนใหเหมาะสมกบแตละหนาจอใหเลย ถาใสภาพไอคอนเองทหลงจะตองมานงปรบขนาดภาพ

เองนะเออ เมอก าหนดเสรจแลวกกดป ม Next > ไดเลย

ตอมาจะเปนรปแบบของ Activity ทจะสราง ใหเลอกเปน Empty Activity แลวกดป ม Next

ตอมาจะเปนการก าหนดชอของคลาส Activity ทจะสราง ชอ Layout และชอ Fragment รวมไปถงรปแบบของการ

เปลยนไปยงหนาตางๆ (Navigator Type) เนองจากบทความนส าหรบเรมตนอยางงาย ดงนนจงก าหนดคาตามเจาของ

บลอกไปกอนนะ กดป ม Finish เพอท าการสรางไดเลย

รอซกพกจนโปรแกรมสรางโปรเจคเรมตนเสรจ กจะไดหนาตาประมาณแบบ

การจดการเลกนอยส าหรบโปรเจค

ส าหรบหนาแรกทแสดงใหเหนนเรยกวา Graphical Layout คอหนาออกแบบแอปพลเคชนแบบซงจะเปนการจ าลอง

หนาจอใหเหนวาทออกแบบไวมหนาตาคราวๆยงไง สามารถลากอปกรณตางๆทอยใน Palette มาวางบนหนาจอไดทนท

สวน activity_main.xml จะขนอยกบชอของไฟลนนๆ

โดยทหนานสามารถดไดอกแบบคอ XML ซงเปนในรปแบบโคด XML โดยเจาของบลอกจะนยมท างานในหนา XML

มากกวา เพราะการจดเลยเอาทในนมนท าไดยดหยนกวา ถาเปนมอใหมกแนะน าใหฝกจากหนา Graphical Layout กอน

โดยใชหนาตางทอยตรงขวามอทชอวา Outline ชวย

ส าหรบการสลบไปมาระหวางสองรปแบบดงกลาวนสามารถกดไดทแถบขางลางดงภาพ

สงเกตทแถบขางบนจะเหนวาม MainActivity.java เปดไวอยดวย สามารถกดสลบไปมา

ระหวางแตละหนาได โดยทหนานจะเปนหนาส าหรบเขยนโคดค าสงภาษา Java ทจะ

เอาไวใชควบคมการท างานของแอปพลเคชน

และจะเหนวามสองบรรทดทมขดเสนใตสเหลอง ซงอยาเขาใจผดวาโคดค าสงมเออเรอรนะ แตหมายถง "การเตอน"

หรอ Warning ซงมสาเหตมาจากการประกาศคลาสทงสองตวนไวแตทวาไมมการเรยกใชในโคดค าสง โปรแกรมจงแจง

ประมาณวา "ประกาศคลาสนไวแลวท าไมไมใช มนเปลองนะ" ซงจะปลอยไวอยางงนกได หรอจะลบทงกไดเชนกน

เพมเตม - ส าหรบสาเหตของ Warning จะมแตกตางกนไป ใหเอาเมาสวางบนค าสงนนแลวดสาเหตได เพราะไมได

หมายความวามขดเสนใตสเหลองแลวจะลบทงไดเลยนะ

ทางทดกลบทงละกน โดยเจาของบลอกลบสวนทไมจ าเปนออกเหลอดงน

ส าหรบค าสง @Override บนแอนดรอยดจะไมมผล สามารถลบออกไดเลย หรอจะปลอยไวอยางนนกได

เชนกน

เทานกสรางโปรเจคใหมเสรจเรยบรอยแลว

อางอง

- http://www.thainetbeans.com/articles/dbnetbeans/dbnetbeans.php

- http://itd.htc.ac.th/st_it50/it5012/P_2/Object%20Oriented%20Programming %201/index.htm

- http://www.thaicreate.com/java/java-gui-netbeans.html

- http://www.akexorcist.com/2014/03/android-code-eclipse.html

สมาชก

นางสาวชลธชา อวยพร เลขท 19

นางสาวณฐชา เพยสงกะ เลขท 20

นางสาวปรารถนา ข าขด เลขท 21

นางสาววรรณสา ยนยง เลขท 23

นางสาวสรดา บวทอง เลขท 24

นางสาวอนญญา อทธานรกษ เลขท 25

นางสาวอนทรา สขกรม เลขท 26

ชนมธยมศกษาปท 6/1

เสนอ

ครทรงศกด โพธเอยม