ข้อมูลองค์ความรู้โดย
ณัฐพล วัฒนวิภัทรเจริญ
ตำแหน่ง IT

่Java ตอนที่ 10 แอพเพลท

ประเภททางด้าน IT หลัก :   Development & Integration
ประเภททางด้าน IT ย่อย :   Java
  ลงข้อมูลเมื่อ 10:50:40 20/03/2013
  Page View (5590) แบ่งปัน

เมื่อสร้าง Applet ซึ่งเป็นแฟ้ม .class แล้ว จะต้องสร้างแฟ้ม .htm เพื่อเรียกใช้ Applet แสดงผล ซึ่งมีหลักการเช่นเดียวกับการสร้าง Application ที่ประมวลผลใน console คือได้โปรแกรม .class ก็ต้องสั่งประมวลผลผ่านโปรแกรม java แต่ Applet มีวิธีเรียกใช้ที่ต่างออกไป ซึ่งทำได้ 2 วิธี หลังสร้างแฟ้ม .htm แล้ว

การเรียกใช้แฟ้ม .htm ทำได้ 2 วิธี

1. เรียกผ่าน Internet Explorer             เช่น DOS> explorer x.htm

2. เรียกผ่าน Applet Viewer                  เช่น DOS> appletviewer j1101.htm

10.1 องค์ประกอบเกี่ยวกับการเรียกใช้ Applet

                โดยปกติแล้วเมธอดที่ถูกเรียกเมื่อเรียกใช้คลาสคือ constructor แต่การทำงานของเมธอดที่สองจะเกิดขึ้นได้หลายกรณี 1) เมื่อเรียกใช้ผ่าน Console หรือ System Command ต้องเป็นเมธอด main 2) ถ้าเรียกใช้ applet จะเรียกใช้เมธอด init เพียงครั้งเดียวเมื่อถูก load แล้วตามด้วยเมธอด start เมื่อสั่ง start หรือ restart

                เมธอดที่ต้องมีใน applet คือ paint เพื่อแสดงข้อมูลออกทาง applet ดังนั้นทั้ง init และ start อาจไม่ต้องเขียนขึ้นใน applet เลยก็ได้

                อธิบายเรื่องเมธอด init ใน http://www.cafeaulait.org/course/week5/28.html

ตัวอย่าง 10. 1 การเรียกใช้ Applet ในแฟ้มประเภท html

<applet code=x.class width=200 height=50>

</applet>

หรือ

<applet code=y.class width=200 height=50>

<param name=x value="hello">

</applet>

ตัวอย่าง 10.2 สร้างโปรแกรมการเขียนข้อความ

                - ผลลัพธ์จะได้ข้อความห่างจากด้านซ้าย 10 Pixels และห่างจากด้านบน 20 Pixels

                - แสดงการเขียน applet ที่มีเพียงเมธอด paint

public class x extends java.applet.Applet {

  public void paint(java.awt.Graphics g) {

    g.setColor(new java.awt.Color(255,0,0));

    g.drawString("test",10,20);

  }

}

ตัวอย่าง 10.3 สร้างโปรแกรมการเขียนข้อความใน Applet อัตโนมัติ

                - ผลลัพธ์จะได้ข้อความห่างจากด้านซ้าย 10 Pixels และห่างจากด้านบน 20 Pixels

                - แสดงการเขียน applet ที่มีเพียงเมธอด paint

@echo off

del x.java

echo public class x extends java.applet.Applet { >> x.java

echo public void paint(java.awt.Graphics g) { >> x.java

echo g.setColor(new java.awt.Color(255,0,0)); >> x.java

echo g.drawString("test",10,20); >> x.java

echo }} >> x.java

javac x.java

del x.htm

echo ^<applet code=x.class width=400 height=300^> >> x.htm

echo ^</applet^> >> x.htm

explorer x.htm

appletviewer x.htm

10.2 การส่งค่าให้กับ Applet

ตัวอย่าง 10.4 พิมพ์ตัวเลข และรับค่าผ่าน getParameter

// <applet code=testx.class width=200 height=50>

// <param name=x value=hello></applet>

import java.applet.*;

import java.awt.*;

public class testx extends Applet {

  int i,j;

  String istr,p;

  public void init() {

    setBackground(Color.yellow);

    p = getParameter("x");

  }

  public void paint(Graphics g) {

    g.setColor(Color.black);

    g.drawString(p,0,10);

    i = 1;

    while (i <= 10) {

       j = 10 * i;

       istr= Integer.toString(i);

       g.drawString(istr,72,j); // column = 1 inch

       i++;

    }

  }

}

ตัวอย่าง 10.5 การแสดงผลแบบหน่วงเวลา

// ตัวอย่างคำสั่งเกี่ยวกับการนอนหลับ http://mindprod.com/jgloss/sleep.html

import java.applet.*;

import java.awt.*;

public class x extends Applet implements Runnable{

  Thread timer;

  int row = 10;

  public void paint(Graphics g) {

     row = row + 2;

     g.drawLine(5,row,30,row);

  }

  public void start() {

     timer = new Thread(this);

     timer.start(); // นาฬิกาเริ่มทำงาน

  }

  public void run() {

     Thread me = Thread.currentThread();

     while (timer == me) {

        try {

           // try was required for sleep (1000 = 1 Second)

            Thread.currentThread().sleep(1000);

        } catch (InterruptedException e) { }

        repaint();

     }

   }

}

10.3 การวาดรูปทรงแบบต่าง ๆ

ตัวอย่าง 10.6 วาดรูปรถบรรทุก

import java.applet.*;

import java.awt.*;

public class x extends Applet {

  public void paint(Graphics g) {

    g.drawRect(50,50,150,150);

    g.drawRect(200,10,300,190);

    g.drawOval(230,180,40,40);

    g.drawOval(330,180,40,40);

  }

}

ตัวอย่าง 10.7 วาดรูปทรงที่หลากหลาย

// 1. Rect = สี่เหลี่ยม Oval = วงรี Arc = เส้นรอบวง

// 2. Oval กว้าง 20 สูง 30

// 3. Arc เริ่มองศาที่ 0 ไปถึงองศา 120

import java.applet.*;

import java.awt.*;

public class x extends Applet {

  Image img;

  public void init() {

    setBackground(Color.green);

    img = getImage(getDocumentBase(),"x.gif");

  }

  public void paint(Graphics g) {

    g.setColor(Color.black);

    g.drawLine(5,10,30,40);

    g.drawRect(50,50,80,80);

    g.drawOval(50,50,20,30);

    g.setColor(Color.white);

    g.fillOval(50,50,20,30); // backgound is white

    g.setColor(Color.red);

    g.drawArc(40,30,55,55,0,120);

    int[] x={0,80,100,5,10};

    int[] y={0,50,80,80,30};

    g.drawPolygon(x,y,5);

    g.drawImage(img, 0, 200, this);

  }

}

10.4 การติดต่อกับผู้ใช้

ตัวอย่าง 10.8 การทำงานกับปุ่มคำสั่ง

// Button, Label และ TextField

import java.applet.*;

import java.awt.*;

import java.awt.event.*;

public class x extends Applet implements ActionListener {

  Button b1 = new Button("1");

  Label l1 = new Label("Hello");

  TextField t1 = new TextField("1");

  int row = 10;

  public void paint(Graphics g) {

    row = row + 10;

    g.drawLine(5,row,30,row);

  }

  public void init() {

    setBackground(Color.red);

    add(l1);

    add(b1);

    add(t1);

    t1.addActionListener(this);

    b1.addActionListener(this);

  }

  public void actionPerformed(ActionEvent e) {

    int intb1 = Integer.parseInt(e.getActionCommand());

    intb1 = intb1 + 1;

    String s = Integer.toString(intb1);

    l1.setText(s);

    b1.setLabel(s);

    t1.setText(s);

    repaint();

  }

}

ตัวอย่าง 10.9 การกำหนดแบบตัวอักษร

import java.applet.*;

import java.awt.*;

public class x extends Applet {

  int i = 0;

  public void init() { i = 1; repaint(); }

  public void start() { i += 10; repaint(); }

  public void stop() { i += 100; repaint(); }

  public void destroy() { }

  public void paint(Graphics g) {

    setBackground(new Color(255,255,200));

    Font fnt = new Font("Angsana NEW",Font.PLAIN,20);

    g.setFont(fnt);

    g.drawString(i + "ดูที่นี่",20,20);

  }

}

ที่มาจาก www.thaiall.com



องค์ความรู้ที่มีผู้อ่านมากสุด
Java ตอนที่ 3 รับข้อมูลทางแป้นพิมพ์ และแสดงผล
การติดต่อกับผู้ใช้เป็นความสามารถของภาษาคอมพิวเตอร์ที่จะเปิดให้ผู้ใช้เข้าควบคุมการทำงานของเครื่องคอมพิวเตอร์ ซึ่งการติดต่อของอุปกรณ์อิเล็กทรอนิกส์หรือฮาร์ดแวร์กับผู้ใช้นั้นสามารถกระทำได้หลายวิธี เช่น แป้นพิมพ์ (Keyboard) เมาส์ (Mouse) หรือเซนเซอร์ต่าง ๆ แต่ที่นิยมใช้และมีประสิทธิภาพสำหรับงานทั่วไปคือการรับคำสั่งจากผู้ใช้ผ่านแป้นพิมพ์ ส่วนการตอบสนองของเครื่องคอมพิวเตอร์ให้ผู้ใช้ได้ทราบถึงผลของการประมวลผลคำสั่งที่ได้รับจากผู้ใช้ก็คือจอภาพ (Screen) และเครื่องพิมพ์ (Printer) เป็นต้น ในบทนี้จะกล่าวถึงการเชื่อมต่อกับผู้ใช้ที่รับข้อมูลผ่านแป้นพิมพ์ และการแสดงผลให้ผู้ใช้ทราบทางจอภาพเป็นหลัก

โดย... ณัฐพล วัฒนวิภัทรเจริญ

ลำดับการทำงาน 3D Animation
โครงการสร้าง 3D Animation ขนาดใหญ่จะเป็นไปตามลำดับการทำงานที่เฉพาะเจาะจง แม้แต่โครงการเล็กๆ ที่มีศิลปินเพียง 1 – 2 คนก็ยังใช้ประโยชน์จากการทำงานตามลำดับขั้นที่โครงงานใหญ่ๆ ที่มีความพร้อมสูงใช้กัน โดยอาจจะนำมาใช้เป็นบางส่วนหรือทั้งหมดเลยก็มี

โดย... ณัฐพล วัฒนวิภัทรเจริญ

Java ตอนที่ 1 ความรู้เบื้องต้นเกี่ยวกับจาวา
ภาษาจาวา (Java Language) คือ ภาษาคอมพิวเตอร์ที่ถูกพัฒนาขึ้นโดยบริษัท ซันไมโครซิสเต็มส์ เป็นภาษาสำหรับเขียนโปรแกรมที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุ (OOP : Object-Oriented Programming) โปรแกรมที่เขียนขึ้นถูกสร้างภายในคลาส ดังนั้นคลาส (Class) คือที่เก็บเมทธอด (Method) หรือพฤติกรรม (Behavior) ซึ่งมีสถานะ (State) และรูปพรรณ (Identity) ประจำพฤติกรรม

โดย... ณัฐพล วัฒนวิภัทรเจริญ

Java ตอนที่ 13 จาร์
Jar (ava Archieve) หมายถึง ที่เก็บเอกสาร เป็นแฟ้มที่มีสกุลเป็น .jar สามารถเก็บแฟ้มต่าง ๆ ได้เหมือนกับแฟ้ม .zip แต่ผู้พัฒนาสามารถเรียกใช้โปรแกรมภายในแฟ้ม .jar ได้ทันที โดยไม่ต้องแตกแฟ้มออกมาก่อน แล้วจึงเรียกใช้เหมือนกับแฟ้ม .zip

โดย... ณัฐพล วัฒนวิภัทรเจริญ

Java ตอนที่ 14 เจเอสพี
ภาษาเจเอสพี (JSP = Java Server Pages) คือ ภาษาสคริปต์ที่ทำงานบนเครื่องบริการ เช่นเดียวกับภาษา perl, php หรือ asp มีโครงสร้างภาษาแบบจาวา หรือภาษาซี โดยมีตัวแปลภาษาที่ถูกพัฒนาโดยบริษัทซันไมโครซิสเต็ม ซึ่งเป็นเทคโนโลยีของจาวา สำหรับสร้างรหัสเอชทีเอ็มแอล (HTML)

โดย... ณัฐพล วัฒนวิภัทรเจริญ

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

โดย... ณัฐพล วัฒนวิภัทรเจริญ

การประยุกต์ใช้งานอินทราเน็ตและเอ็กทราเน็ตเพื่อสนับสนุนการค้าบนเวบ (Intranet/Extranet)
ตามความหมายแล้ว ทั้งสองระบบนี้ หมายถึง ระบบเครือข่ายที่สร้างขึ้นจากการนำหลักการหรือระบบการทำงานของอินเทอร์เนตมาใช้งานภายในองค์กร (Intranet) และระหว่างองค์กรเฉพาะกลุ่ม (Extranet) ซึ่งหน้าที่ต่างๆในการใช้งานไม่ว่าจะเป็นเรื่องเว็บบราวเซอร์ การรับ-ส่งอีเมล์ การทำการโอนย้ายแฟ้มข้อมูล (FTP) จะเหมือนกันกับที่ใช้อยู่บนระบบอินเทอร์เน็ตปกติ ซึ่งระบบนี้ทำงานด้วยการตั้งอินทราเน็ตเซิร์ฟเวอร์ขึ้นมาภายในองค์กรหรือศูนย์กลางของกลุ่มองค์กรของเรา เช่น ระหว่างบริษัทของเรากับกับกลุ่มตัวแทนจำหน่าย

โดย... ณัฐพล วัฒนวิภัทรเจริญ

ระบบ SAN (Storage Area Network)
ยุคการจัดการความรอบรู้ได้เริ่มต้นขึ้นแล้ว อิเล็กทรอนิกส์ทำให้ระบบการเรียนรู้ต่าง ๆ เปลี่ยนแปลงไปมาก เรามีระบบการเรียนรู้แบบใหม่ที่ชื่อ eLearning ใช้สื่อข้อมูลเป็นแหล่งการเรียนรู้ใหญ่ มีระบบ eLibrary เก็บข้อมูลหนังสือที่เป็นแบบ eBook รวมทั้งสิ่งพิมพ์ประเภท eMagazine eJournal และ eProceeding ระบบ e ยังทำให้เกิดการเรียนรู้แบบ eEducation on Demand หรือ eEOD

โดย... ณัฐพล วัฒนวิภัทรเจริญ

Java ตอนที่ 12 แพ็คเกจ
ในอนาคต หากมี .class หลายร้อยแฟ้ม และเก็บแยก directory อย่างเป็นระเบียบ เช่น ห้อง c:\java\bin\aaa เก็บ .class 100 แฟ้ม และ c:\java\bin\burin เก็บ . class 150 แฟ้ม การเรียกใช้จากแต่ละห้อง สามารถทำได้ด้วยการใช้คำสั่ง import แต่ class ที่อยู่ในแต่ละห้องจะประกาศด้วยคำสั่ง package และมีข้อมูลว่าแต่ละห้อง จะต้องมีชื่อ class ที่ไม่ซ้ำกัน

โดย... ณัฐพล วัฒนวิภัทรเจริญ

Java ตอนที่ 11 แอพพลิเคชั่น
การสั่งและเลิกประมวลผล 1. สั่งประมวลผล Application ด้วย DOS> java x 2. การปิด Application ที่ไม่มีคำสั่ง exit ในตัวโปรแกรมให้กดปุ่ม CTRL-C ใน DOS

โดย... ณัฐพล วัฒนวิภัทรเจริญ