最近我也在研究JInternalFrame,期间也遇到过你所提到的问题。今天我把我研究的结果告诉你一下。
(1),要隐藏JInternalFrame的标题栏就用((BasicInternalFrameUI)yourInternalFrame.getUI()).setNorthPane(null);。要隐藏JInternalFrame的边框要用yourInternalFrame.setBorder(BorderFactory.createEmptyBorder());。
(2)要显示标题栏和边框要用yourInternalFrame.updateUI();。
(3),如果你要在最大化的时候去除标题栏和边框就得重载JInternalFrame的setMaximum(boolean b)函数,具体如下:
public void setMaximum(boolean b) throws PropertyVetoException {
super.setMaximum(b);
if(b){
((BasicInternalFrameUI)this.getUI()).setNorthPane(null);
super.setBorder(BorderFactory.createEmptyBorder());
}
}
还有如果你想在JMenuBar中添加控制JInternalFrame的按钮,建议你用一个JLabel放置到JMenuBar的。具体步骤如下:
1.在JLabel上添加一张图片,该图片中有三个图标分别是最小化,最大化,关闭。(该图片可以到Photoshop中去截取)。
2.在你确定已经把所有要用的菜单都添加到JMenubar后就用yourMenubar.add(Box.createHorizontalGlue());来设置yourMenubar的布局
3.将第1步中的Label直接添加到yourMenubar中, yourMenubar.add(yourLabel);
以上为我的研究结果,具体如何用那三个图标控制JInternalFrame就看你自己的实现。
转载于 http://bbs.bccn.net/thread-127934-1-1.html Sun_NetBeans
分享到:
相关推荐
JInternalFrame 是 Java Swing 库提供的一个用于创建内部窗口的组件,常用于在桌面应用程序中创建多文档界面(MDI)。
`JInternalFrame`是一个特殊的Swing组件,它通常用作`JDesktopPane`中的子窗口,允许用户在单个窗口中打开多个子窗口。`JInternalFrame`的一些重要特性包括: - 可以通过构造函数设置标题以及是否可以改变大小、...
在JDK1.7之前的版本中,要实现一个父窗口中点击按钮弹出子窗口的布局,需要先创建一个JDesktopPane,再将JInternalFrame添加到JDesktopPane中,最后将JDesktopPane添加到父窗口(JFrame)中。 实现点击按钮事件弹出...
本章节将探讨Java Swing中的`JDesktopPane`和`JInternalFrame`组件及其使用方式,以及它们如何构建出一个功能强大的多文档界面(MDI)。通过本章节的学习,您将了解这些组件的基本特性、如何利用它们来实现桌面应用...
在Java Swing库中,`javax.swing.JFrame`是创建窗口的基本类,但除此之外,还有一种更灵活的窗口组件——内部框架(JInternalFrame)。本文将通过分析`InternalFrameDemo`这个示例,深入理解Java窗口特别是内部框架...
它包含了一系列组件,如JFrame、JInternalFrame等,这些组件可以用来构建各种窗口和对话框。在"java 固定资产管理"项目中,JFrame将作为主窗口,展示固定资产的基本信息和操作选项;而JInternalFrame则可能用于创建...
JDesktopPane是一个特殊的组件,它可以容纳多个JInternalFrame,这些JInternalFrame就像是独立的窗口,但它们都在同一个JDesktopPane内显示,用户可以在其中自由地切换、最大化、最小化和关闭这些子窗口。...
2. **缺乏滚动条支持**:因为`JDesktopPane`自身没有内置的滚动条支持,所以当`JInternalFrame`超出可视范围时,用户无法通过滚动条查看完整内容,特别是在调整大小时可能会导致完全不可见。 3. **自动窗口菜单缺失*...
JInternalFrame internalFrame1 = new JInternalFrame("Document 1", true, true, true, true); JInternalFrame internalFrame2 = new JInternalFrame("Document 2", true, true, true, true); ``` 4. **添加子窗口...
JDesktopPane作为主容器,可以容纳多个JInternalFrame对象,每个JInternalFrame代表一个独立的文档窗口。通过这些组件,开发者可以创建一个能够支持新建、打开和保存等基本文件操作的编辑器。 1. **新建功能**: ...
环境:Windows XP prorfessional, JDK 1.6 Eclipse 3.3 Europa 在Swing开发中,我们需要给客户一个比较cool的UI提高操作体验感。本示例中使用6行代码左右实现了窗体和内部窗体换肤效果,以及让窗体不能调整大小、...
总之,Java Swing提供了丰富的组件集合,如`JPanel`、`JScrollPane`、`JSplitPane`、`JTabbedPane`、`JToolBar`、`JInternalFrame`和`JButton`,它们共同构成了构建现代、功能丰富的图形用户界面的基础。通过合理...
Swing透明切换是Java GUI开发中的一个重要特性,它允许开发者创建具有透明效果的组件,以实现更为美观且交互性更强的用户界面。在Java的Swing库中,这种功能主要通过`java.awt.Transparency`接口和`java.awt....
1. JInternalFrame类:Chat类继承自JInternalFrame类,用于创建内部框架。 2. JTextPane类:代码中使用了JTextPane类,用于创建文本面板,作为聊天记录显示区。 3. JTextField类:代码中使用了JTextField类,用于...
Java 的swing 组件创建父子窗口的例子,使用的结构是JDesktopPane-JInternalFrame。JDesktopPane 相当于一个“父窗口”,可以拥有多个作为“子窗口”的JInternalFrame 对象。如运行截图所示,当选中Option 菜单下的...
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
容器:JTabbedPane/JScrollPane/JSplitPane/JInternalFrame 组件:JTable/JTree/JList 基本组件:ToggleButtons/JButton/JComboBox/ProgressBar/Slider/Spinner/TextFeild/JEditorPane 选择器:JColorChooser/...
4. **JInternalFrame**:在 `addIFrame` 方法中,可以看到系统支持添加 `JInternalFrame` 子窗体到 `JDesktopPane` 中,这使得用户可以在主窗口中打开多个相关的功能窗口。 5. **布局管理**:`Main` 类中使用了 `...
JInternalFrameDemo.java