| 
           
            | 
  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) - Example       |  
 
  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 |  |  
          | 
 |  |   
          |  |  
 |   |