พื้นฐานการสร้าง GUI Window Form ที่ประกอบด้วย 2 Form และการ Open Form (Java)

กรกฎาคม 10, 2018 7:14 am โดย admin
0
7

พื้นฐานการสร้าง GUI Window Form ที่ประกอบด้วยสอง Form และการ Open Form ใหม่ (Java) บทความนี้จะเป็นการเขียน Java GUI ที่มีจำนวน Form หรือ Frame มากกว่าสอง Form ขึ้นไป และเราจะใช้วิธีการ ซ่อนและแสดง Form ต่าง ๆ เช่น มีปุ่ม Button ใน Form หนึ่ง ให้ทำการ Open เปิด Form สอง เป็นต้น ซึ่งเป็นรูปแบบการใช้งานง่าย ๆ

Java GUI Multi Form

Java GUI Multi Form and Open Form

ในการเขียน Java GUI ปกติเราอาจจะจำเป็นใช้ Form หลักแค่ Form เดียว ส่วนพวก Form อื่น ๆ เราอาจจะใช้พวก Dialog หรือใช้ Panel ทำการแสดง Form อื่น ๆ มาแสดงใน Form หลัก ซึ่งวิธีการนี้จะได้อธิบายไว้ในบทความถัดไป

Syntax Open Form

1.MyForm2 form2 = new MyForm2();
2.form2.setVisible(true);

หลักการก๊เพียงใช้การ new Form ที่สอง และทำการ Show มันขึ้นมา ส่วน Form ปัจจุบันอาจจะทำการซ่อนโดยใช้คำสั่ง

1.setVisible(false);

Example การออกแบบ GUI สอง Form การ Hide และ Show Form

MyForm1.java

01.package com.java.myapp;
02. 
03.import java.awt.EventQueue;
04.import java.awt.event.ActionEvent;
05.import java.awt.event.ActionListener;
06. 
07.import javax.swing.JButton;
08.import javax.swing.JFrame;
09.import javax.swing.JLabel;
10.import javax.swing.JOptionPane;
11. 
12.public class MyForm1 extends JFrame {
13. 
14.public static void main(String[] args) {
15.EventQueue.invokeLater(new Runnable() {
16.public void run() {
17.MyForm1 form = new MyForm1();
18.form.setVisible(true);
19.}
20.});
21.}
22. 
23. 
24.public MyForm1() {
25. 
26.// Create Form Frame
27.super("ThaiCreate.Com Tutorial");
28.setSize(450300);
29.setLocation(500280);
30.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
31.getContentPane().setLayout(null);
32. 
33.// Create Label
34.JLabel label = new JLabel("Form 1");
35.label.setBounds(200536014);
36.getContentPane().add(label);   
37. 
38.// Create Button
39.JButton btnOpen = new JButton("Open Form");
40.btnOpen.setBounds(1719510023);
41.// Create Event for Button
42.btnOpen.addActionListener(new ActionListener() {
43.public void actionPerformed(ActionEvent evt) {
44. 
45.// New Form
46.MyForm2 form2 = new MyForm2();
47.form2.setVisible(true);
48. 
49.// Hide Current Form
50.setVisible(false);
51.}
52.});    
53.getContentPane().add(btnOpen); 
54. 
55.}   
56. 
57.}

Java GUI Multi Form

ผลลัพธ์ของ Form หนึ่ง

MyForm2.java

01.package com.java.myapp;
02. 
03.import java.awt.EventQueue;
04.import java.awt.event.ActionEvent;
05.import java.awt.event.ActionListener;
06. 
07.import javax.swing.JButton;
08.import javax.swing.JFrame;
09.import javax.swing.JLabel;
10.import javax.swing.JOptionPane;
11. 
12.public class MyForm2 extends JFrame {
13. 
14.public static void main(String[] args) {
15.EventQueue.invokeLater(new Runnable() {
16.public void run() {
17.MyForm2 form = new MyForm2();
18.form.setVisible(true);
19.}
20.});
21.}
22. 
23. 
24.public MyForm2() {
25. 
26.// Create Form Frame
27.super("ThaiCreate.Com Tutorial");
28.setSize(450300);
29.setLocation(500280);
30.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
31.getContentPane().setLayout(null);
32. 
33.// Create Label
34.JLabel label = new JLabel("Form 2");
35.label.setBounds(200536020);
36.getContentPane().add(label);   
37. 
38. 
39.}   
40. 
41.}

Java GUI Multi Form

ผลลัพธ์ของ Form สอง

Output ทดสอบการรัน

Java GUI Multi Form

แสดง Form หนึ่ง ซึ่งมี Button ให้เปิด Form สอง

Java GUI Multi Form

แสดง Form ที่สอง

แหล่งที่มา : thaicreate.com/java/java-gui-windows-form-open-form.html