`

JInternalFrame创建内部窗体

阅读更多
package Assis;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class MdiApplicationDemo extends JFrame implements ActionListener {
	private static final long serialVersionUID = 1L;
	JButton b = new JButton("创建内部窗体 ");
	JDesktopPane desktopPane = new JDesktopPane();
	int windowCount = 1;

	public MdiApplicationDemo() {
		// 获取内容窗格容器
		Container contentPane = getContentPane();
		// 创建功能按钮面板
		JPanel pnlControlPane = new JPanel();
		pnlControlPane.add(b);
		// 设置桌面窗体的布局管理为FlowLayout,缺省为null
		desktopPane.setLayout(new FlowLayout());
		// 添加事件监听器
		b.addActionListener(this);
		// 把功能按钮面板和桌面窗体加入到内容窗格容器中
		contentPane.add(pnlControlPane, BorderLayout.NORTH);
		contentPane.add(desktopPane, BorderLayout.CENTER);
	}

	// 程序的入口方法
	public static void main(String[] args) {
		MdiApplicationDemo frame = new MdiApplicationDemo();
		// 设置框架窗体的事件监听(关闭窗体事件)
		frame.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
		// 显示框架窗体
		frame.setSize(600, 400);
		frame.setVisible(true);
	}

	// 处理创建内部窗体按钮事件
	public void actionPerformed(ActionEvent event) {
		// 创建一个新的内部窗体
		JInternalFrame jif = new JInternalFrame("内部窗体[" + windowCount++ + "]", // title
				true, // resizable
				true, // closable
				true, // maximizable
				true); // iconifiable
		// 设置内部窗体大小为250×100
		jif.setPreferredSize(new Dimension(250, 100));
		// 把内部窗体加入到桌面窗体中
		desktopPane.add(jif);
		// 刷新
		desktopPane.revalidate();
		jif.setVisible(true);
	}
}

 

分享到:
评论

相关推荐

    Swing创建内部窗体

    在Java的Swing库中,创建内部窗体(也称为嵌入式对话框或轻量级对话框)是构建用户界面时的一种常见需求。内部窗体通常被用作主窗体的一部分,提供额外的功能或者信息,而不像模态或非模态对话框那样独立于主应用...

    JInternalFrame

    在Java Swing库中,`JInternalFrame`是一个非常重要的组件,它允许我们在一个主窗口(JDesktopPane)内部创建可移动、可最小化、可关闭的子窗口。这些子窗口通常被称为内部帧,它们提供了类似操作系统级别的窗口管理...

    JAVA实现多文档窗体源码

    3. **创建JInternalFrame**:然后,我们需要创建一个或多个JInternalFrame来表示每个文档窗口。每个JInternalFrame可以包含任何Java组件,如文本编辑器、表格等。 ```java JInternalFrame internalFrame = new ...

    图书管理系统数据库源代码.doc

    2. **JDesktopPane**:`DESKTOP_PANE` 是一个 `JDesktopPane` 对象,它用于展示内部窗体(`JInternalFrame`),在主窗口中可以添加、移动或关闭这些内部窗体,实现多窗口的功能。 3. **主入口点**:`main` 方法是...

    java实现点击按钮事件弹出子窗口

    在JDK1.7之前的版本中,要实现一个父窗口中点击按钮弹出子窗口的布局,需要先创建一个JDesktopPane,再将JInternalFrame添加到JDesktopPane中,最后将JDesktopPane添加到父窗口(JFrame)中。 实现点击按钮事件弹出...

    JAVA组件小全一览表

    * JInternalFrame:javax.swing.JInternalFrame 是一个内部窗体组件,用于创建内部窗体。其构造方法包括 JInternalFrame() 和 JInternalFrame(String title)。 * JLayeredPane:javax.swing.JLayeredPane 是一个分层...

    Java语言系统界面设计.ppt

    内部窗体JInternalFrame、分层窗格JLayeredPane、根窗格JRootPane等是特殊容器。 9. 事件处理 事件处理是图形用户界面设计的重要组成部分,Swing提供了丰富的事件处理机制,通过监听器和事件处理方法来实现事件处理...

    进销存管理系统

    在本例中,使用了JDesktopPane作为桌面面板,它可以承载多个内部窗口(JInternalFrame),提供类似Windows操作系统的多文档界面(MDI)效果。 JTabbedPane是Java Swing中的一个控件,用于实现标签页功能。在进销存...

    北航版Java基础与实例精解9-17章源码

    7. **例12.18 内部窗体**:内部窗体(JInternalFrame)是Java桌面应用中的一个特性,它允许在主窗口内嵌入其他窗口,实现更灵活的界面设计。 8. **例12.19 分层面板**:JLayeredPane是Swing中用于创建多层组件的...

    tabbedMDI.zip

    - 在Java中,可以利用Swing库的JDesktopPane和JInternalFrame类来创建Tabbed MDI。 4. **设计原则**: - 用户友好:每个子窗口作为独立的标签页,用户可以通过单击标签轻松切换,避免了传统MDI中寻找隐藏窗口的...

Global site tag (gtag.js) - Google Analytics