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

การพัฒนาโปรแกรมโดยการใช้ BeanBox

ก่อนอื่นนะครับเรามาทำความรู้จักกับเจ้า beanbox กันก่อน เจ้าโปรแกรมนี้เป็น Visual ที่คอยช่วยให้เราสามารถที่จะสร้าง Bean ได้และในส่วนของ Bean ที่สร้างนั้นจะเป็น Java Bean

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

ต่อไปจะเป็นการติดตั้งตัว BeanBox นะครับ
  • เริ่มจากเข้าไปที่ http://sites.google.com/site/kmitlcomponentthai/home/relataed-links
  • จากนั้นให้ทำการ Download ทั้งหมด 2 ตัวนะครับคือ BDK และ nmake
  • เมื่อทำการ Download เสร็จแล้วให้ทำการแตกไฟล์ BDK ออก
  • สำหรับในกรณีที่เครื่องที่ติดตั้งมี JDK 1.4 ขึ้นไปนะครับให้ทำการแก้ไขไฟล์บางส่วนดังนี้นะครับ
ให้เข้าไปใน beans\demo\sunw\demo\buttons จากนั้นให้ทำการแก้ไขไฟล์ที่มีชื่อว่า ExplicitButtonBeanInfo.java
โดยการแก้ไขให้เลื่อนลงไปประมานบรรทัดที่ 44 นะครับ โดยให้แก้ไขดังนี้นะครับ
จาก code เดิมคือ
EventSetDescriptor push = new EventSetDescriptor(beanClass,
"actionPerformed",
java.awt.event.ActionListener.class,
"actionPerformed");
ให้ทำการแก้ไขใหม่เป็น
EventSetDescriptor push = new EventSetDescriptor(beanClass,
"action",
java.awt.event.ActionListener.class,
"actionPerformed");

  • เมื่อทำการแก้ไขเสร็จแล้วให้เราทำการแตกไฟล์ nmake15.exe ไปไว้ที่ beans\demo เมื่อทำการแตกไฟล์แล้วให้ทำการคลิกที่ nmake15.exe หลังจากนั้นให้ทำการคลิกไฟล์ที่ชื่อว่า nmake.exe อีกที ก็เป็นอันว่าจบการติดตั้ง beanbox
ต่อไปเราจะมาลองทำการสร้างตัวอย่างง่ายๆในการใช้งาน beanbox ดูนะครับ
โดยตัวอย่างที่เราจะลองสร้างนี้คือโปรแกรมที่เราเรียกว่า Couter bean ซึ่งเจ้าตัวโปรแกรมนี้เนี่ยมีหลักการทำงานคือ เมื่อผู้ใช้กดปุ่ม start counter จะทำการเพิ่มค่าทีละ 1 ทุก 1 วินาที และเมื่อผู้ใช้กดปุ่ม Stop การทำงานจะหยุด และถ้าผู้ใช้กดปุ่ม reset ค่า counter จะกลับมาเป็น 0 โดย code ของตัวโปรแกรมมีดังนี้ครับ


package counter;
import java.awt.*;

public class Counter extends Canvas {
private final static int XPAD = 10;
private final static int YPAD = 10;
private int count;
private boolean operate;

public Counter() {
count = 0;
operate = true;
}

public void reset() {
count = 0;
repaint();
}

public void start( ) {
operate = true;
}

public void stop() {
operate = false;
}

public synchronized void increment() {
if(operate) {
++count;
adjustSize();
repaint();
}
}

public void setFont(Font font) {
super.setFont(font);
adjustSize();
}

public Dimension getPreferredSize() {
Graphics g = getGraphics();
FontMetrics fm = g.getFontMetrics();
int w = fm.stringWidth("" + count) + 2 * XPAD;
int h = fm.getHeight() + 2 * YPAD;
return new Dimension(w, h);
}

private void adjustSize() {
Dimension d = getPreferredSize();
setSize(d.width, d.height);
Component parent = getParent();
if(parent != null) {
parent.invalidate();
parent.doLayout();
}
}

public void paint(Graphics g) {
Dimension d = getSize();
FontMetrics fm = g.getFontMetrics();
int x = (d.width - fm.stringWidth("" + count))/2;
int y = (d.height + fm.getMaxAscent() -
fm.getMaxDescent())/2;
g.drawString("" + count, x, y);
g.drawRect(0, 0, d.width - 1, d.height - 1);
}
}


  • จากนั้นให้เราทำการ copy code ใส่ลง notepad แล้วทำการ save file เป็นชื่อ Counter.java
  • ให้เปิด Command Prompt แล้ว Compile โปรแกรมโดยใช้คำสั่ง javac -d. Counter.java
  • จากนั้นให้ทำการสร้าง file Manifest โดย code ของไฟล์คือ ตั้งชื่อ file ว่า manifest.mf นะครับ
Main-Class: counter.Counter
Name: counter/Counter.class
Java-Bean: True

ในการพิมพ์ลงในไฟล์ ต้องเว้นช่องว่างในบรรทัดสุดท้ายไว้ด้วย 1 บรรทัดนะครัย มิเช่นนั้นแล้วจะทำให้ compile ไม่ผ่าน
เมื่อทำการ save ไฟล์แล้วนำไปไว้ใน Directory เดียวกันกับ file Counter.java นะครับ
  • จากนั้นให้เราเปิด Command Prompt แล้วทำการสร้างไฟล์ jar โดยการพิมพ์คำสังต่อไปนี้ครับ jar -cfm Counter.jar manifest.mf .\counter\*.* จากนั้นเราจะได้ file jar (ที่ต้องมี\counter\*.* เพื่อที่จะไปหา file Counter.class ใน folder counter ครับ)
  • เมื่อได้ file jar แล้วให้เราทำการเปิดโปรแรกม beanbox ขึ้นมาแล้วทำการเปิดไฟล์ jar ขึ้นมาโดนเลือก File > Load jar แล้วเลือกไฟล์ Counter.jar ขึ้นมา


  • จากนั้นทำการเลือก counter จากหน้าต่างทางด้านซ้ายลากเข้ามาวางในส่วนของพื้นที่ว่างในตรงกลาง


  • เลือก ExplicitButton ใช้ในการสร้างปุ่ม โดยจะทำการสร้างทั้งหมด 3 ปุ่มคือ Start Stop และ Reset โดยเราสามารถที่จะทำการเปลี่ยนชื่อของปุ่มได้โดยการพิมพ์ที่ label



  • จากนั้นทำการเพิ่มการทำงานให้ในแต่ละปุ่มโดยการคลิกที่ปุ่มที่ต้องการจะเพิ่มการทำงาน จากนั้นเลือก Edit > Event > button push > actionPerformed



  • จากนั้นให้เลือกใรส่วนของ EventTargetDailog ให้เลือกเป็น start ในปุ่ม start , stop ในปุ่ม stop และ reset ในปุ่ม reset

  • เมื่อได้แล้วให้เราทำการโยงเส้นไปยังวัตถุที่เราจะให้ทำงานด้วย ในที่นี้คือให้เราโยงเส้นแดงๆไปยังส่วนของ counter


  • จากนั้นให้ทำการคลิกในส่วนของ TickTok และทำการสร้างลงบนพื้นที่ตรงกลางจากนั้นทำการเพิ่มการทำงานโดยการคลิกที่ Edit > Event > propertyChange > propertyChange

  • กำหนดในส่วนของ EventTargetDailog ให้เลือกเป็น increment หลังจากนั้นให้เราทำการโยงเส้นสีแดงไปยังส่วนของ counter ครับ

จากนั้นเราก็จะสามารถใช้งานในส่วนของโปรแกรมได้แล้วครับ :")

ไม่มีความคิดเห็น:

แสดงความคิดเห็น