230 likes | 413 Views
Component. องค์ประกอบของ GUI. GUI (Graphical User Interface). คือการเขียนโปรแกรมที่ใช้รูปภาพกราฟิกในการโต้ตอบกับผู้ใช้ ซึ่งในจาวาเราสามารถเลือกงานได้หลายแบบ เช่น Java Swing Java AWT Java Applet Java Script. AWT (Abstract Windowing Toolkit).
E N D
Component องค์ประกอบของ GUI
GUI (Graphical User Interface) • คือการเขียนโปรแกรมที่ใช้รูปภาพกราฟิกในการโต้ตอบกับผู้ใช้ ซึ่งในจาวาเราสามารถเลือกงานได้หลายแบบ เช่น • Java Swing • Java AWT • Java Applet • Java Script
AWT (Abstract Windowing Toolkit) • คือเครื่องมือพื้นฐานในการเขียนโปรแกรมด้วย GUI ประกอบด้วย • AWT component • AWT Container จัดเป็น component อย่างหนึ่งที่สามารถนำเอา component อื่นๆ มาใส่ได้ • Layout Manager ใช้สำหรับจัดแสดง component ออกทางจอภาพ
Swing Component • เนื่องจากการที่ AWT เองมีปัญหาต่าง ๆ เกิดขึ้นในการใช้งาน เช่น เรื่องของความจำ ทำให้จาวาพัฒนา class ขึ้นมาใหม่ที่มีความสามารถในด้าน GUI แต่ปัญหาน้อยกว่า ซึ่ง Swing ไม่ได้ใช้งานแทน AWT เพราะ AWT ยังมีอยู่ ในขณะเดียวกัน Swing ก็ยังคงต้อง extends บางคลาสจาก AWT มาใช้งาน
ตารางเปรียบเทียบ component ของ AWT และ Swing
import javax.swing.*; • class ExDialog { • public static void main(String []args) { • String firstNumber,seNumber; • int number1,number2, sum; • firstNumber = JOptionPane.showInputDialog("First num. is"); • seNumber = JOptionPane.showInputDialog ("And second num."); • number1 = Integer.parseInt(firstNumber); • number2 = Integer.parseInt(seNumber); • sum = number1+number2; • JOptionPane.showMessageDialog (null," Sum of two numbers is :" • +sum," Result", JOptionPane.PLAIN_MESSAGE); • System.exit(0); • } • }
ประเภทของ Component • Compound Components คือ คลาสที่ใช้ในการสร้าง GUI ที่มี Component อื่นเป็นส่วนประกอบเช่น เมนู
Menu Menu Bar MenuItem
ประเภทของ Component • Container Components คือ คลาสที่ใช้ในการสร้าง GUI ที่สามารถนำเอา Component อื่นมาเป็นส่วนประกอบได้มีสองประเภท คือ • Non-top-level Container • Top-level Container
การสร้าง GUI • Component จะถูกสร้างขึ้นมาแล้ววางใน Container โดยที่การจัดวาง component นั้นจะอาศัย Layout Manager เป็นตัวช่วยในการจัดวาง • จะต้องมีคำสั่ง setSise(int, int) • จะต้องมีคำสั่ง setShow() หรือ setVisible(true)
Top Level Container (Swing Component : JFrame)
JFrame • JFrame เป็น container ที่สืบทอดมาจากFrame ของAWT ซึ่งเป็น Top level container ที่สามารถอยู่เดี่ยวๆได้ ไม่ต้องอาศัย window ลักษณะที่สำคัญของ JFrame คือ การมีปุ่มปิดปุ่มคืนสภาพ และปุ่มย่อขนาดให้เล็กสุด
Minimize Button Title Bar Restore Button Close Button ความสูง : y ความยาว : x
การสร้าง • สร้างวัตถุ JFrame ขึ้นใหม่ โดยใช้คำสั่ง JFrame ชื่อเฟรม = new JFrame(" Title bar ") • การสืบทอดจากJFame โดยใช้คำสั่ง class ชื่อคลาส extends JFrame
import javax.swing.*; • class JFrameDemo { • public static void main(String s[]) { • JFrame frame = new JFrame("JFrame Source Demo"); • frame.setSize(200,150); • frame.setVisible(true); • } • }
import javax.swing.*; • class JFrameDemo extends JFrame { • public static void main(String s[ ]) { • JFrameDemo f = new JFrameDemo(); • f.setTitle("Test"); • f.setSize(200,150); • f.setVisible(true); • } • }
Top Level Container JPanel OK Top Level Container OK OK JPanel • เป็น container ที่ไม่สามารถอยู่อย่างอิสระต้องอยู่ภายใต้ Top Level Container
import java.awt.*; • class TestPanel{ • public static void main(String s[]){ • JFrame f = new JFrame ("Test"); • JPanel p = new JPanel(); • JPanel p1 = new JPanel(); • f.setLayout(new GridLayout()); • p.setBackground(Color.blue); • p1.setBackground(Color.BLACK); • f.add(p); • f.add(p1); • f.setSize(100,100); • f.show(true); • } • }