引言
在Java GUI開辟中,外部窗體(JInternalFrame)是一種非常有效的組件,它容許開辟者在一個主窗體(JFrame)外部創建跟管理多個子窗體。這種計劃形式在實現多文檔界面(MDI)利用順序時特別有效,比方,文本編輯器、項目管理東西等。本文將深刻探究Java外部窗體的利用,包含其創建、設置、規劃以及一些實用的開辟技能。
一、外部窗體簡介
外部窗體是Swing框架的一部分,它容許開辟者在一個主窗體中創建跟管理多個子窗體。每個外部窗體都可能獨破於其他窗體停止操縱,如最小化、最大年夜化、封閉等。外部窗體經由過程JDesktopPane容器停止管理。
二、創建外部窗體
創建外部窗體須要以下多少個步調:
- 創建一個外部窗體類,持續自JInternalFrame。
- 在外部窗體類中,重寫
createUI()
方法,用於增加組件跟規劃。 - 在主窗體中,將外部窗體增加到JDesktopPane容器中。
以下是一個簡單的外部窗體示例:
import javax.swing.*;
public class InternalFrameExample extends JInternalFrame {
public InternalFrameExample() {
super("外部窗體示例", true, true, true, true);
createUI();
}
private void createUI() {
// 在這裡增加組件跟規劃
JButton button = new JButton("點擊我");
button.addActionListener(e -> JOptionPane.showMessageDialog(this, "按鈕被點擊了!"));
this.add(button);
}
public static void main(String[] args) {
JFrame frame = new JFrame("主窗體");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new JDesktopPane() {{
add(new InternalFrameExample());
}});
frame.pack();
frame.setVisible(true);
}
}
三、設置外部窗體
外部窗體可能設置很多屬性,比方標題、大小、地位、封閉操縱等。以下是一些常用的設置方法:
public void configureInternalFrame() {
this.setTitle("設置示例");
this.setSize(200, 200);
this.setLocation(100, 100);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
四、規劃外部窗體
外部窗體可能利用各種規劃管理器停止規劃,比方FlowLayout、BorderLayout、GridLayout等。以下是一個利用FlowLayout規劃外部窗體的示例:
import javax.swing.*;
public class InternalFrameLayoutExample extends JInternalFrame {
public InternalFrameLayoutExample() {
super("規劃示例", true, true, true, true);
createUI();
}
private void createUI() {
FlowLayout layout = new FlowLayout();
this.setLayout(layout);
JButton button1 = new JButton("按鈕1");
JButton button2 = new JButton("按鈕2");
JButton button3 = new JButton("按鈕3");
this.add(button1);
this.add(button2);
this.add(button3);
}
}
五、實戰技能
- 利用
setResizable(false)
方法禁用外部窗體的調劑大小功能。 - 利用
setClosable(false)
方法禁用外部窗體的封閉操縱。 - 利用
setIconifiable(false)
方法禁用外部窗體的最小化操縱。 - 利用
setMaximum(true)
方法最大年夜化外部窗體。 - 利用
setSelected(true)
方法將外部窗體設置為選中狀況。
六、總結
Java外部窗體是一種富強的組件,可能幫助開辟者輕鬆創建跟管理多文檔界面利用順序。經由過程本文的介紹,信賴讀者曾經控制了外部窗體的基本利用方法,以及一些實用的開辟技能。在現實項目中,公道應用外部窗體,可能打造出愈加優雅、高效的互動式界面。