import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JDeskTopPaneTest extends JFrame implements ActionListener
{
private Container container = null ;
private JButton btn = null ;
private int xOffSet = 50 ; //内部窗体x偏移量
private int yOffSet = 50 ; //内部窗体y偏移量
private int frameCount = 0; //内部窗体个数
private JDesktopPane desktopPane ; //桌面窗格
private JInternalFrame internalFrame ; //内部窗体
public JDeskTopPaneTest(){
//设置main窗体
setTitle("桌面窗格示例");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(800,600);
container = getContentPane();
desktopPane = new JDesktopPane();
desktopPane.setBackground(new Color(224,224,224));
container.add(desktopPane);
//实例化按钮,注册事件,添加到main窗体
btn = new JButton("add");
btn.setActionCommand("add");
btn.addActionListener(this);
container.add(btn,BorderLayout.SOUTH);
try {
//UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");//Windows风格
//UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel") ; //Mac风格
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel") ;//Java默认风格
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
} catch (InstantiationException ex) {
ex.printStackTrace();
} catch (IllegalAccessException ex) {
ex.printStackTrace();
} catch (UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
}
}
public void actionPerformed(ActionEvent e){
if("add".equals(e.getActionCommand())){
addInternalFrame();
}
}
public void addInternalFrame(){
internalFrame = new JInternalFrame("frame" + frameCount,true,true,true,true);
internalFrame.setSize(200,150);
internalFrame.setVisible(true);
internalFrame.setLocation(xOffSet * frameCount,yOffSet * frameCount);
internalFrame.getContentPane().add(new JLabel("哈哈!"),BorderLayout.CENTER);
desktopPane.add(internalFrame);
try{
internalFrame.setSelected(true);
}catch(Exception e){
JOptionPane.showMessageDialog(null,"选择错了");
}
frameCount++;
}
public static void main(String[] args){
new JDeskTopPaneTest().setVisible(true);
}
}
分享到:
相关推荐
1. **Java Swing组件**: - Swing 提供了多种组件,如 JButton(按钮)、JLabel(标签)、JTextField(文本框)、JTextArea(多行文本框)、JComboBox(组合框)、JList(列表)、JTable(表格)和JTree(树结构)...
学习者可以逐步理解并实践Swing 的各种组件和功能,从而提升开发桌面应用的能力。 在提供的"ExamServer"文件中,可能包含了实现上述功能的示例代码或服务器端相关逻辑。通过分析和运行这些代码,你可以更深入地了解...
通过阅读《Java Swing(第二版)》并实践其中的示例代码,开发者不仅可以掌握Swing的基本用法,还能深入理解其工作原理,从而在实际项目中更加灵活地运用Swing进行桌面应用的开发。这本书对于初学者和有经验的Java...
在《Java Swing图形界面开发与案例详解》源代码中,可能包含了许多实际的示例,这些示例涵盖了Swing的各种功能和用法。可能包括如何布局组件(如使用FlowLayout,BorderLayout,GridLayout, MigLayout等),如何...
附带的源代码提供了实际示例,读者可以通过阅读和运行这些代码来加深对Swing的理解。这些例子可能包括窗口的创建、组件的使用、布局的管理、事件处理的实现,以及高级特性的应用。通过分析和修改这些代码,开发者...
Swing是Java的一种图形用户界面(GUI)工具包,它为开发者提供了丰富的组件和功能,用于构建桌面应用程序。...提供的源代码很可能是各种Swing组件和事件处理的示例,可以帮助初学者更好地理解和实践这些概念。
文件列表中提到的实例代码可能包括了上述所有概念的示例,读者可以从中学习到如何创建窗口、添加组件、布局管理、事件处理、数据绑定以及自定义组件等技能。通过实际运行和修改这些代码,开发者可以更好地理解和掌握...
1. **Swing组件和容器**: - **组件(Component)**:组件是构成GUI的基本元素,如按钮(JButton)、文本框(JTextField)等。它们继承自`java.awt.Component`类,而大多数Swing组件则继承自`javax.swing....
在学习过程中,建议首先阅读课件,了解理论知识,然后结合代码示例进行实践操作,加深理解。遇到问题时,可以参考JDK 6的官方文档或在线社区寻找答案。此外,不断对比JDK的新旧版本,理解新特性是如何改进旧版的问题...
SwingSet2是Java Swing库的一个演示应用,它包含了Swing组件的各种示例和测试,是学习和理解Swing组件工作原理的宝贵资源。Swing是Java提供的一个用于创建图形用户界面(GUI)的库,它是Java Foundation Classes ...
JFC(Java Foundation Classes)是Sun Microsystems(现为Oracle)推出的一组用于构建GUI应用的类库,它包括了Swing组件库,使得开发者可以创建出功能丰富、用户友好的界面。"java图形界面高级编程实例"这个资料很...
1. **Swing组件**:包括各种基本组件(如 JButton、JLabel、JTextField、JTextArea、JComboBox 等)以及高级组件(如 JTable、JTree、JTabbedPane 等)。每个组件都有其特定的用途和方法,了解它们可以帮助我们构建...
通过解析代码可以学习到如何使用Swing构建UI、操作日期时间以及响应用户事件等重要的编程技巧。此外,还涉及到了文件读写的基础知识,这对于扩展程序功能(比如保存用户的设置或导出日历视图等)非常有用。
在Java Swing库中,`JInternalFrame`是一个非常重要的组件,它允许我们在一个主窗口(JDesktopPane)内部创建可移动、可最小化、可关闭的子窗口。这些子窗口通常被称为内部帧,它们提供了类似操作系统级别的窗口管理...
“ManualSwing.zip”则可能是一个内嵌的压缩文件,里面可能包含了Swing组件的详细文档,包括类的使用方法、示例代码、API参考等内容。通过解压并阅读这个文件,开发者可以深入理解如何创建和配置Swing组件,如按钮...
在Java Swing库中,`javax.swing.JFrame`是创建窗口的基本类,但除此之外,还有一种更灵活的窗口组件——内部框架(JInternalFrame)。本文将通过分析`InternalFrameDemo`这个示例,深入理解Java窗口特别是内部框架...
这一需求通常涉及到Java图形用户界面(GUI)的构建,以及事件驱动编程的实践。本文将介绍如何使用Java的Swing库来...通过本文提供的代码示例和解释,可以为需要在Java Swing中实现类似功能的开发者提供一定的帮助和参考。
在这个项目中,这个文件可能包含了创建和管理内部帧实例的核心逻辑,以及如何将它们添加到JDesktopPane的示例代码。 深入讲解Java Swing的`JInternalFrame`,我们可以了解到以下关键知识点: 1. **创建内部帧**:...
通过`java.awt`和`javax.swing`两个包提供的组件,开发者可以创建出美观且功能丰富的用户界面。 - **JFrame**: 主窗口类,是所有顶级容器的基类,负责整个应用的显示和事件处理。 - **JDesktopPane**: 提供了一个...