Java Internal Frame (JInternalFrame) - Swing Example |
Java Internal Frame (JInternalFrame) - Example สำหรับ JInternalFrame (javax.swing.JInternalFrame) เป็น Container ที่ใช้แสดงใน Desktop Pane (JDesktopPane) โดยภายใน Desktop Pane หนึ่ง ๆ จะสามารถประกอบด้วยหลาย ๆ Internal Frame และภายใน Internal Frame ก็ใช้การออกแบบด้วย JFrame ได้ตามปกติ
Java Internal Frame (JInternalFrame) - Swing Example
Syntax
JDesktopPane desktop = new JDesktopPane();
MyInternalFrame frame = new MyInternalFrame();
frame.setVisible(true);
Containers Icon Tools
Icons ของ GUI Tools
ประกอบด้วยไฟล์ 2 ไฟล์คือ MyForm.java และ MyInternalFrame.java
Example
MyForm.java
package com.java.myapp;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Toolkit;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class MyForm extends JFrame {
JDesktopPane desktop;
/**
* 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);
setTitle("ThaiCreate.Com Java GUI Tutorial");
int inset = 50;
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(inset, inset, screenSize.width - inset * 2, screenSize.height
- inset * 2);
desktop = new JDesktopPane();
setContentPane(desktop);
desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
// Button Open
JButton btnOpenFrame = new JButton("Open Frame");
btnOpenFrame.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
createFrame();
}
});
btnOpenFrame.setBounds(29, 11, 116, 23);
desktop.add(btnOpenFrame);
}
protected void createFrame() {
MyInternalFrame frame = new MyInternalFrame();
frame.setVisible(true);
desktop.add(frame);
try {
frame.setSelected(true);
} catch (Exception e) {
e.printStackTrace();
}
}
}
MyInternalFrame.java
package com.java.myapp;
import java.awt.EventQueue;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
public class MyInternalFrame extends JInternalFrame {
static int openFrameCount = 0;
static final int xOffset = 30, yOffset = 30;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MyInternalFrame frame = new MyInternalFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public MyInternalFrame() {
super("Document #" + (++openFrameCount),
true, //resizable
true, //closable
true, //maximizable
true);//iconifiable
setBounds(100, 100, 450, 300);
getContentPane().setLayout(null);
setLocation(xOffset*openFrameCount, yOffset*openFrameCount);
JLabel lblNewLabel = new JLabel("ThaiCreate.Com");
lblNewLabel.setBounds(178, 109, 108, 14);
getContentPane().add(lblNewLabel);
}
}
Output
แสดง Desktop Pane ทดสอบคลิกที่ Open Frame
แสดง Internal Frame
ภายใน Desktop Pane สามารถมีได้หลาย Internal Frame
Property & Method (Others Related) |
|
ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท
|
|
|
By : |
ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ) |
|
Score Rating : |
|
|
|
Create/Update Date : |
2013-08-18 13:22:44 /
2017-03-27 18:00:17 |
|
Download : |
No files |
|
Sponsored Links / Related |
|
|
|
|
|
|
|