JavaSwing的InternalFrame的操作
:JInternalFrame的使用
类层次结构图:
java.lang.Object
--java.awt.Component
--java.awt.Container
--javax.swing.JComponent
--javax.swing.JInternalFrame
JinternalFrame的使用跟JFrame几乎一样,可以最大化、最小化、关闭窗口、加入菜单等功能;唯一不同的是JinternalFrame是
lightweight component ,也就是说JInternalFrame不能单独出现,必须依附在最上层组件上。由于这个特色,JInternalFrame能
够利用java提供的Look and Feel功能作出完全不同于原有操作系统所提供的窗口外型,也比JFrame更具有弹性。
一般我们会将Internal Fram加入Desktop Pane方便管理,Desktop Pane是一种特殊的Layered pane,用来建立虚拟桌面(Vitual
Desktop).它可以显示并管理众多Internal Frame之间的层次关系。以下是JDesktopPane的类层次结构图;
类层次结构图:
java.lang.Object
--java.awt.Component
--java.awt.Container
--javax.swing.JComponent
--javax.swing.JLayeredPane
--javax.swing.JDesktop
我们先来看看如何构造JInternalFrame与JDesktopPane,再来看它跟Desktop Pane之间的关系。下面分别是JInternalFram与
JDesktopPane的构造函数:
JInternalFrame构造函数:
JInternalFrame():建立一个不能更改大小、不可关闭、不可最大最小化、也没有标题的Internal Frame。
JInternalFrame(String title):建立一个不能更改大小、不可关闭、不可最大最小化、但具有标题的Internal Frame。
JInternalFrame(String title,boolean resizable):建立一个不可关闭、不可最大最小化、但可变更大小且具有标题的
Internal Frame。
JInternalFrame(String title,boolean resizable,boolean closable):建立一个可关闭、可更改大小、且具有标题,但不可
最大化最小化的Internal Frame.
JInternalFrame(String title,boolean resizable,boolean closable,boolean maximizable):建立一个可关闭、可更改大小、
具有标题、可最大化,但不可最小化的
Internal Frame.
JInternalFrame(String title,boolean resizable,boolean closable,boolean maximizable,boolean iconifiable):
建立一个可关闭、可更改大小、具有标题、可最大化与最小化的Internal Frame.
下面就举一个简单的小例子:
/**
*
*/
package com;
/**
* @author chenhailong
*
*/
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class JInternalFrame1 extends JFrame implements ActionListener{
/**
*
*/
private static final long serialVersionUID = -1880331202530692023L;
JDesktopPane desktopPane;
int count = 1;
public JInternalFrame1() {
super("JInternalFrame1");
Container contentPane = this.getContentPane();
contentPane.setLayout(new BorderLayout());
JButton b = new JButton("Create New Internal Frames");
b.addActionListener(this);//当用户按下按钮时,将运行actionPerformed()中的程序
contentPane.add(b, BorderLayout.SOUTH);
/*建立一个新的JDesktopPane并加入于contentPane中
*/
desktopPane = new JDesktopPane();
contentPane.add(desktopPane);
setSize(350, 350);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
/*产生一个可关闭、可改变大小、具有标题、可最大化与最小化的Internal Frame.
*/
public void actionPerformed(ActionEvent e)
{
JInternalFrame internalFrame = new JInternalFrame(
"Internal Frame "+(count++), true, true, true, true);
internalFrame.setLocation( 20,20);
internalFrame.setSize(200,200);
internalFrame.setVisible(true);
//取得JInternalFrame的Content Pane,用以加入新的组件。
Container icontentPane = internalFrame.getContentPane();
JTextArea textArea = new JTextArea();
JButton b = new JButton("Internal Frame Button");
/*将JTextArea与JButton对象加入JInternalFrame中。由此呆知,JInteranlFrame加入组件
*的方式与JFrame是一模一样。
*/
icontentPane.add(textArea,"Center");
icontentPane.add(b,"South");
//将JInternalFrame加入JDesktopPane中,如此一来,即使产生很多JInternalFrame,JDesktopPane也
//能将它们之间的关系管理得相当良好。
desktopPane.add(internalFrame);
try {
internalFrame.setSelected(true);
} catch (java.beans.PropertyVetoException ex) {
System.out.println("Exception while selecting");
}
}
public static void main(String[] args) {
new JInternalFrame1();
}
}
分享到:
相关推荐
java swing漂亮界面 超酷 javaswing教程
基于Java Swing + MySQL的图书管理系统,优秀Java毕业设计系统,小白必看! 基于Java Swing + MySQL的图书管理系统,优秀Java毕业设计系统,小白必看! 基于Java Swing + MySQL的图书管理系统,优秀Java毕业设计系统...
Java Swing是目前图形界面设计的主流开发工具,《Java Swing图形界面开发与案例详解[1]》从实用的角度出发,通过大量实例全面介绍Java Swing中各种组件的应用及图形界面的开发技术。《Java Swing图形界面开发与案例...
(java swing毕业设计)学生信息管理(文档+视频+源码)(java swing毕业设计)学生信息管理(文档+视频+源码)(java swing毕业设计)学生信息管理(文档+视频+源码)(java swing毕业设计)学生信息管理(文档+视频+源码)(java ...
java Swing多Jpanel仿安卓苹果桌面动态切换滑动效果
java swing 教程 精通javaswing
(java swing毕业设计)酒店管理系统(ppt+ER图+流程图+需求背景数据库+架构说明有lun文视频源码齐全)(java swing毕业设计)酒店管理系统(ppt+ER图+流程图+需求背景数据库+架构说明有lun文视频源码齐全)(java swing毕业...
基于Java Swing的物业管理系统源码+数据库(95分以上课程设计).zip 已获高分通过项目,代码完整下载即用,无需修改确保可以运行。 基于Java Swing的物业管理系统源码+数据库(95分以上课程设计).zip 已获高分...
java swing漂亮软件界面 超酷 以及java swing教程
该系统使用Java Swing作为GUI编程工具,MySQL作为数据库,可以方便地进行商品管理、订单管理、库存管理和查询等操作。以下是该系统的简介: 系统概述 本系统主要包括商品管理、订单管理、库存管理和系统管理等功能...
1、JAVA Swing日期选择控件datepicker 2、附带该控件的使用
java swing用Logger输出错误日志
用JavaSwing写的测试版多人猜拳, 暂时不包含源代码
串口接收数据源码java swing技术,包含了打开串口,接收串口的数据,关闭串口,清空数据等功能,自己手动开发的,如果需要可以自行开发,也可以联系上品威客索取
java Swing读取图片,并以友好的方式呈现个使用者
使用Java Swing界面实现数据库基本操作,使用Java Swing界面实现数据库基本操作
用java swing 实现的pdf阅读器 很强大 喜欢。。。
java Swing panel button左右滑动效果
参考书籍用Java Swing 和 Mysql编写的图书管理系统。 功能多,分类明确,代码编写风格也很好。附上MYSQL的数据库文件,导入即可以用!参考书籍用Java Swing 和 Mysql编写的图书管理系统。 功能多,分类明确,代码...