Java Swing and Dialog (JDialog) - Example |
Java Swing and Dialog (JDialog) - Swing Example สำหรับ Dialog หรือ JDialog (javax.swing.JDialog) จัดอยู่ในกลุ่มของ Swing Windows โดย JDialog ใช้สำหรับสร้างหน้าต่าง Windows แบบ Dialog ซึ่งจะแตกต่างกับ JFrame ตรงที่ Form จะทำหน้าที่เป็น Frame หลัก แต่ Dialog อาจะเป็นทำหน้าที่เป็น Form ย่อย ที่ถูกเปิดจาก JFrame โดยการทำงานและการออกแบบ Controls ใน JDialog จะมีความสามารถและใช้งานได้เหมือนกับ JFrame
Java Swing and Dialog (JDialog) - Swing Example
Syntax
JDialog dialog = new JDialog();
public class MyForm extends JDialog {
Controls Icon Tools
Example 1 ตัวอย่างการสร้าง Dialog ด้วย JDialog แบบง่าย ๆ
MyForm.java
package com.java.myapp;
import javax.swing.JDialog;
import javax.swing.JButton;
public class MyForm {
public static void main(String[] args) {
// Dialog
JDialog dialog = new JDialog();
dialog.setSize(316, 145);
dialog.setLocation(300,200);
dialog.getContentPane().setLayout(null);
// Button
JButton btnOk = new JButton("OK");
btnOk.setBounds(108, 54, 89, 23);
dialog.getContentPane().add(btnOk);
dialog.setVisible(true);
}
}
Output
แสดง Dialog แบบง่าย ๆ
Example 2 การสร้าง Dialog ด้วยการ extends JDialog ซึ่งวิธีนี้จะเหมาะสำหรับเมื่อ Class เป็น Class หลักของไฟล์นั้น ๆ ใช้หลักเดียวกับ JFrame
MyForm.java
package com.java.myapp;
import javax.swing.JDialog;
import javax.swing.JLabel;
public class MyForm extends JDialog {
public static void main(String[] args) {
try {
MyForm dialog = new MyForm();
dialog.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
public MyForm() {
// Constructor
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
setTitle("ThaiCreate.Com Java GUI Tutorial");
setBounds(100, 100, 359, 174);
getContentPane().setLayout(null);
// Label
JLabel label = new JLabel("Welcome to ThaiCreate.Com");
label.setBounds(86, 37, 175, 29);
getContentPane().add(label);
}
}
Output
แสดง Dialog
Example 3 การสร้าง Dialog แบบ Dialog Popup ถูกเรียกโดย JFrame และ Menu
คล้าย ๆ กับ About US บนโปรมแกรมทั่ว ๆ ไป โดยเราจะใช้ Dialog เป็น Popup หลังจากที่คลิกที่ Menu
MyForm.java
package com.java.myapp;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class MyForm extends JFrame {
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
MyForm frame = new MyForm();
frame.setVisible(true);
}
});
}
/**
* Create the frame.
*/
public MyForm() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 283);
setTitle("ThaiCreate.Com Java GUI Tutorial");
getContentPane().setLayout(null);
// Menu Bar
JMenuBar menuBar=new JMenuBar();
// Menu 1
JMenu menu = new JMenu("File");
// Open
JMenuItem menuOpen = new JMenuItem("Open");
menu.add(menuOpen);
// About Us
JMenuItem menuAbout = new JMenuItem("About Us");
menuAbout.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
MyDialog dialog = new MyDialog();
dialog.setModal(true);
dialog.setVisible(true);
}
});
menu.add(menuAbout);
menuBar.add(menu);
setJMenuBar(menuBar);
}
//*************** Dialog *****************//
class MyDialog extends JDialog {
public MyDialog() {
// MyDialog
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
setTitle("About Us");
setBounds(100, 100, 359, 174);
getContentPane().setLayout(null);
// Label
JLabel label = new JLabel("ThaiCreate.Com Version 1.0");
label.setBounds(86, 37, 175, 29);
getContentPane().add(label);
}
}
}
Output
แสดง Dialog แบบ Popup
Example 4 การสร้าง JDialog แบบ Modal และถูกเปิดโดย JFrame พร้อมกับส่งค่าจาก Dialog มายัง JFrame
แสดง JFrame และการเปิด JDialog
MyForm.java
package com.java.myapp;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class MyForm extends JFrame {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
MyForm form = new MyForm();
form.setVisible(true);
}
});
}
public MyForm() {
// Create Form Frame
super("ThaiCreate.Com Java GUI Tutorial");
setSize(450, 300);
setLocation(500, 280);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(null);
// Label Result
final JLabel lblResult = new JLabel("Result",JLabel.CENTER);
lblResult.setBounds(32, 53, 370, 14);
getContentPane().add(lblResult);
// Create Button Open Dialog
JButton btnButton = new JButton("Submit");
btnButton.setBounds(171, 95, 89, 23);
btnButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
MyDialogPopup dialog = new MyDialogPopup();
dialog.setModal(true);
dialog.setVisible(true);
lblResult.setText(dialog.sName);
}
});
getContentPane().add(btnButton);
}
//***************** Dialog ****************//
class MyDialogPopup extends JDialog {
public String sName;
public MyDialogPopup() {
setBounds(100, 100, 296, 175);
setTitle("Input Dialog");
setLocationRelativeTo(null);
getContentPane().setLayout(null);
// Create Input
final JTextField name = new JTextField();
name.setBounds(57, 36, 175, 20);
getContentPane().add(name);
// Button OK
JButton btnOK = new JButton("OK");
btnOK.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
sName = name.getText();
dispose();
}
});
btnOK.setBounds(70, 93, 78, 23);
getContentPane().add(btnOK);
// Button Cancel
JButton btnCancel = new JButton("Cancel");
btnCancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
sName = "";
dispose();
}
});
btnCancel.setBounds(158, 93, 74, 23);
getContentPane().add(btnCancel);
}
}
}
Output
แสดง JFrame ซึ่งเป็น Form หลัก
เปิด JDialog หลังจากที่คลิก Button พร้อมกับมี Input บน Dialog
ส่งค่าจาก JDialog มายัง JFrame
พื้นฐาน Java GUI : Dialog และ Popup สร้าง Input Dialog และ Custom Modal Dialog
Property & Method (Others Related) |
|
ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท
|
|
|
By : |
ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ) |
|
Score Rating : |
|
|
|
Create/Update Date : |
2013-09-05 12:13:33 /
2017-03-27 21:19:43 |
|
Download : |
No files |
|
Sponsored Links / Related |
|
|
|
|
|
|
|