为了创建MDI风格的GUI,可以选择JInternalFrame,并将其放入JDesktopPane中。
...//In the constructor of InternalFrameDemo, a JFrame subclass:
desktop = new JDesktopPane();
createFrame(); //Create first window
setContentPane(desktop);
...
//Make dragging a little faster but perhaps uglier.
desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
...
protected void createFrame() {
MyInternalFrame frame = new MyInternalFrame();
frame.setVisible(true);
desktop.add(frame);
try {
frame.setSelected(true);
} catch (java.beans.PropertyVetoException e) {}
}
...//In the constructor of MyInternalFrame, a JInternalFrame subclass:
static int openFrameCount = 0;
static final int xOffset = 30, yOffset = 30;
public MyInternalFrame() {
super("Document #" + (++openFrameCount),
true, //resizable
true, //closable
true, //maximizable
true);//iconifiable
//...Create the GUI and put it in the window...
//...Then set the window size or call pack...
...
//Set the window's location.
setLocation(xOffset*openFrameCount, yOffset*openFrameCount);
}
1、JInternalFrame VS 普通Frame
这两者的使用方式很相似,但InteralFrame并不是Window或Top-level容器,使用InterlFrame时,必须将其放入一个容器,比如JDesktopPane。另外,InterlFrame并不产生Window event,而是产生internal frame event。另外,InternalFrame是被设计成与JDesktopPane协同工作的,因此很多方法,如moveToFront,只有在JDesktopPane中才有效。
2、使用InternalPane的规则
(1)setSize 或 setBounds
(2)setLocation
(3)将组件添加到IntenalPane的contentPane上
(4)InternalPane的对话框应该使用JOptionPane 的showInternalXxxDialog发病高发或 JInternalFrame实现
(5)必须将InternalPane加入一个容器
(6)setVisible
(7)发出Internal Frame event,而不是window event。
分享到:
相关推荐
JInternalFrame menu 子窗体浮动 子窗体透明 面板透明 swing
JInternalFrame 是 Java Swing 库提供的一个用于创建内部窗口的组件,常用于在桌面应用程序中创建多文档界面(MDI)。
java界面设计之,swing透明切换,使用户用起来更加舒服
Java 综合性例子 多方向界面设计 经典例题 详细代码
Java 的swing 组件创建父子窗口的例子,使用的结构是JDesktopPane-JInternalFrame。JDesktopPane 相当于一个“父窗口”,可以拥有多个作为“子窗口”的JInternalFrame 对象。如运行截图所示,当选中Option 菜单下的...
JInternalFrameDemo.java
介绍Frame和Panel容器的使用方法和时机。针对JFrame,JInternalFrame,JLayeredPane,JPanel,JScrollBar,JSplitPane,JTabbedPane写有详细的可执行代码。
本示例中使用6行代码左右实现了窗体和内部窗体换肤效果,以及让窗体不能调整大小、窗体置中,以及除去窗体的装饰条--看不到最小化、最大化和关闭按钮,以及光标的样式等的功能。 因为Apple的皮肤没有在网上找它相应...
学生提问:当我们使用编译C程序时,不仅需要指定存放目标文件的位置,也需要指定目标文件的文件名,这里使用javac编译Java程序时怎么不需要指定目标文件的文件名呢? 13 1.5.3 运行Java程序 14 1.5.4 根据...
精通Java Swing程序设计的帮助文档,包括:版面管理器,事件处理,JInternalFrame的使用,复选框、选项按钮、列表方框、下拉式列表的使用,树(Tree)的使用主要侧重以demo的方式说明。
Java_Swing窗体种类简介,这是非常好的资料,我想信对于学习javase开发的学者很有帮助
包含swing入门组件完整示例, 几乎包含swing所有组件介绍 ,可以带你入门了解swing的各种UI效果和使用示例,让你对swing有个整体了解. 顶层容器:JFrame/JDialog/JWINDOW 容器:JTabbedPane/JScrollPane/JSplitPane/...
Java 的swing 组件创建父子窗口的例子,使用的结构是JDesktopPane-JInternalFrame。JDesktopPane 相当于一个“父窗口”,可以拥有多个作为“子窗口”的JInternalFrame 对象。如运行截图所示,当选中Option 菜单下的...
Java创建产生关联的主窗体与子窗体,使用的结构是JDesktopPane-JInternalFrame。JDesktopPane 相当于一个“父窗口”,可以拥有多个作为“子窗口”的JInternalFrame 对象。如运行截图所示,当选中Option 菜单下的...
主要为大家详细介绍了java实现点击按钮事件弹出子窗口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
超级彩绘 使用Swing API的Java绘画程序。... 使用Swing组件,例如JFrame,JPanel,JInternalFrame等。 非API链表数据结构 面向对象的编程实践(继承,多态性,封装的使用) 单击查看正在运行的程序。
import java.awt.BorderLayout;...import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JToolBar; import javax.swi
static JInternalFrame frame ; public void createAndShowGui(JDesktopPane desk) throws SQLException { //Δημιουργία tabed pane και εισαγωγή φορμών με εικόνες ...
内部框架:JInternalFrame 分层窗格:JLayeredPane 标签:JLabel 按钮:JButton 开启/关闭按钮:JToggleButton 复选框:JCheckBox 单选按钮:JRadioButton 按钮组:ButtonGroup 组合框:JComboBox 列表:JList ...
如果JInternalFrame离开视口,则不会添加任何滚动条,并且您将失去“到达” JInternalFrame的能力。 该组件旨在解决该问题。 您只需将其传递给JDesktopPane并将其添加到应用中即可,而不是添加JDesktopPane。 该...