วันเสาร์ที่ 9 กรกฎาคม พ.ศ. 2554

Bean ใน netbean

คราวนี้เราจะลองนำไฟล์ .jar ที่ได้ทำใน beanbox เข้ามาใช้ใน netbeans กันดูบ้าง
โดยจะเขียนเป็น โปรแกรมที่แสดงการนับ โดยจะนับทุกๆ 1 วินาที และจะทำงานด้วยปุ่มต่างๆดังนี้
-          เมื่อกดปุ่ม start จะเริ่มนับ
-          เมื่อกดปุ่ม stop จะหยุดที่วินาทีนั้น
-          เมื่อกดปุ่ม reset จะเริ่มใหม่ โดยตั้งค่าที่ 0


JFrame Form

1.       สร้าง java package ที่ยังไม่มี class ใดๆ และสร้าง class ที่มี JFrame Form
โดยคลิกขวาที่ default package >> new >> JFrame Form
2.       เพิ่ม java beans โดยคลิกขวาที่ Palette >> Palette Manager…
3.       จะทำการเพิ่มไฟล์ .jar มาไว้ที่ categories
โดยเลือกที่ Add from JAR…
>> เลือก components คือ
            - counter.jar เพื่อใช้ในการนับและแสดงจำนวนที่นับ
     - misc.jar (TickTock) เพื่อใช้เป็นนาฬิกา
>> เลือก palette category เป็น Beans ทั้งคู่
4.       ลาก Counter Beans และ TickTock Beans มาวางใน Form
5.       เชื่อมต่อการทำงานโดยคลิกที่ connection mode >> time เพื่อเป็น object ที่ใช้สร้างเหตุการณ์ >>  counter เพื่อเป็น object ที่ใช้รับเหตุการณ์



6.       จะปรากฎหน้าต่าง Connection Wizard  เลือก property change >> tickTock1PropertyChange >> next


7.       เลือก operation ที่จะทำเมื่อ event ที่เลือกไว้เกิดขึ้น >> method call >> increment() >> Finish

8.       เมื่อกด Finish แล้วโปรแกรมจะสร้าง code ให้โดยอัตโนมัติ

9.   คลิกขวาที่ time ใน inspector >> property >> ในช่อง interval เปลี่ยนจาก 5 เป็น 1
10.       ลาก button ใหม่มา 3 อันแล้วตั้งชื่อใหม่เป็น start, stop, reset
11.       ใช้ connection mode เพื่อเชื่อม button ทั้ง 3 อันกับ counter >> button >> counter
12.       เมื่อปรากฎหน้าต่าง connection wizard >> actionPerformed >> next


13.       เลือก Method call >> start() >> Finish
เมื่อกำหนดปุ่ม start จะเลือก method start()
                         stop  จะเลือก method stop()
                         reset จะเลือก method reset()


14.       เมื่อกำหนดเสร็จเรียบร้อยแล้วจะได้ code ที่โปรแกรมสร้างให้โดยอัตโนมัติ ดังนี้
>> เท่านี้ก็สามารถ run program ได้แล้วค่ะ











วันศุกร์ที่ 8 กรกฎาคม พ.ศ. 2554

Design pattern ใน Eclipse


วิธีใช้  Design pattern  ใน  Eclipse

  1.  การใช้  design  pattern ใน  Eclipse  จะต้องทำการ  download pug in  ของ  eclipse ก่อน
จากเว็บไซต์  http://www.patternbox.com/eclipse.html

2.              ทำการแตกไฟล์ที่ได้ไปที่ C:\Program Files\eclipse\plugins

3.              ทำการ ปิด แล้ว เปิด eclipse ใหม่หากทำการเปิด eclipse อยู่แล้ว หรือกด File -> Restart ก็ได้

4.              สร้าง project ที่จะใช้ design pattern ขึ้นมา โดยกด File -> New -> Java Projectจากนั้นตั้งชื่อให้เรียบร้อย

5.              ใช้ design pattern กับ project โดยกด File -> New -> Other…
  จะปรากฎหน้าต่างใหม่ขึ้นมา

6.              เลือก Java -> Design Pattern Wizard



7.             เลือก Design Pattern ที่ต้องการ จากนั้นกด Browse… เพื่อเลือก Project ที่จะใช้Design Pattern นั้น


8.             จะได้ไฟล์ ชื่อ “ factorymethod.xdp” ขึ้นมาใน Project โดยในไฟล์นี้จะเก็บข้อมูลเกี่ยวกับ Design Pattern ใว้

ในตัวอย่างนี้จะทำการเพิ่ม class Creator   ที่เรียกใช้ class FactoryMethod  ขึ้นมา
โดยการเพิ่ม class factoryMethod ทำได้โดย เลือก Creator  กด Add… ทางด้านขวา ทำการเลือกที่อยู่ไฟล์และ package จากนั้นกด Finish


เพิ่ม class counterโดย เลือก Creator กด Add… เลือกที่อยู่ไฟล์และ package จากนั้นกด Finish


จะได้ผลดังนี้


วันพฤหัสบดีที่ 7 กรกฎาคม พ.ศ. 2554

Beanbox

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

               และทำการ extract ไฟล์ nmake  ไปไว้ที่ bean\demo หลังจากนั้น double click ที่ NMAKE และ nmake15 (ที่ได้ extract ไฟล์ไว้) เท่านี้ก็เริ่มต้นการใช้งานได้แล้วล่ะค่ะ

สร้าง Jar file 
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);
              }
}

save โปรแกรมข้างบนเป็นชื่อ Counter.java และทำการสร้าง manifest file และ saveชื่อ Counter.mf โดยมีรายละเอียดดังนี้

                     Main-Class: counter.Counter
                     Name: counter/Counter.class
                     Java-Bean: True
Compile file Counter.java ด้วยคำสั่ง



สร้าง Jar file ด้วยคำสั่ง



- กด Run.bat ขึ้นมาเราจะได้หน้าต่างดังรูป






ในแถบเครื่องมือด้านซ้ายมือ จะมี Counter และ OurButton ให้ใช้เครื่องมือสร้างตัวCounter และปุ่มตามรูป
-         - Start
-         -  Stop
-         - Reset




ใช้mouse กดไปที่ปุ่มStart ให้ขึ้นกรอบรอยปะดังรูป
-                 -  เลือก Edit  action actionPerformed จะมีเส้นสีแดงปรากฏ ให้ลากเส้นสีแดงไปที่ตัวCounter 




- เลือก Start แล้วคลิก OK
 





ในกรณี 2 ปุ่มที่เหลือก็ทำเช่นเดียวกับปุ่ม Start แต่จะต่างกันเพียงแค่ว่า เลือก Event ไม่เหมือนกัน ปุ่ม Stop ก็เลือก Stop ปุ่ม Reset ก็เลือก Reset (ดูได้ในวงกลมสีแดงจะมีคำว่า Start Stop และ Reset)


สร้าง Ticktock ขึ้นมาโดยกำหนด interval เป็น 1 ดังรูป




ขั้นตอนนี้เราจะเลือก Event ใน Ticktock โดย กด EditEdit  propertyChangeEdit  propertyChange ลากเส้นสีแดงไปที่ Counter เช่นที่กับ 3 ปุ่มที่ผ่านมา









เลือก Increment













จะได้รูปดังนี้ เพียงเท่านี้ก็จะได้ ตัว Counter ที่มีปุ่ม Start Stop Reset แล้ว สามารถทำตามขั้นตอนได้ตามนนี้นะครับ




















***หมายเหตุ OS ที่ใช้เป็นแบบ Windows 7  32 bit