`

Swing组件学习代码示例之JDesktopPane

 
阅读更多
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 楼 智君祥 2014-03-11  

相关推荐

    Java Swing 图形界面开发--文章的源码

    1. **Java Swing组件**: - Swing 提供了多种组件,如 JButton(按钮)、JLabel(标签)、JTextField(文本框)、JTextArea(多行文本框)、JComboBox(组合框)、JList(列表)、JTable(表格)和JTree(树结构)...

    swing炫酷界面与功能实现

    学习者可以逐步理解并实践Swing 的各种组件和功能,从而提升开发桌面应用的能力。 在提供的"ExamServer"文件中,可能包含了实现上述功能的示例代码或服务器端相关逻辑。通过分析和运行这些代码,你可以更深入地了解...

    《Java Swing(第二版)》

    通过阅读《Java Swing(第二版)》并实践其中的示例代码,开发者不仅可以掌握Swing的基本用法,还能深入理解其工作原理,从而在实际项目中更加灵活地运用Swing进行桌面应用的开发。这本书对于初学者和有经验的Java...

    Swing 王鹏

    在《Java Swing图形界面开发与案例详解》源代码中,可能包含了许多实际的示例,这些示例涵盖了Swing的各种功能和用法。可能包括如何布局组件(如使用FlowLayout,BorderLayout,GridLayout, MigLayout等),如何...

    Manning - JAVA Swing 2nd Edition (2004) and Source Code

    附带的源代码提供了实际示例,读者可以通过阅读和运行这些代码来加深对Swing的理解。这些例子可能包括窗口的创建、组件的使用、布局的管理、事件处理的实现,以及高级特性的应用。通过分析和修改这些代码,开发者...

    Swing 界面编程

    Swing是Java的一种图形用户界面(GUI)工具包,它为开发者提供了丰富的组件和功能,用于构建桌面应用程序。...提供的源代码很可能是各种Swing组件和事件处理的示例,可以帮助初学者更好地理解和实践这些概念。

    《JavaSwing图形界面开发与案例详解》实例代码

    文件列表中提到的实例代码可能包括了上述所有概念的示例,读者可以从中学习到如何创建窗口、添加组件、布局管理、事件处理、数据绑定以及自定义组件等技能。通过实际运行和修改这些代码,开发者可以更好地理解和掌握...

    Java语言程序设计:ch08 Swing图形用户界面程序设计.ppt

    1. **Swing组件和容器**: - **组件(Component)**:组件是构成GUI的基本元素,如按钮(JButton)、文本框(JTextField)等。它们继承自`java.awt.Component`类,而大多数Swing组件则继承自`javax.swing....

    java学习笔记JDK6课件和课本代码

    在学习过程中,建议首先阅读课件,了解理论知识,然后结合代码示例进行实践操作,加深理解。遇到问题时,可以参考JDK 6的官方文档或在线社区寻找答案。此外,不断对比JDK的新旧版本,理解新特性是如何改进旧版的问题...

    SwingSet2 源码

    SwingSet2是Java Swing库的一个演示应用,它包含了Swing组件的各种示例和测试,是学习和理解Swing组件工作原理的宝贵资源。Swing是Java提供的一个用于创建图形用户界面(GUI)的库,它是Java Foundation Classes ...

    java图形界面高级编程实例

    JFC(Java Foundation Classes)是Sun Microsystems(现为Oracle)推出的一组用于构建GUI应用的类库,它包括了Swing组件库,使得开发者可以创建出功能丰富、用户友好的界面。"java图形界面高级编程实例"这个资料很...

    gui-example

    1. **Swing组件**:包括各种基本组件(如 JButton、JLabel、JTextField、JTextArea、JComboBox 等)以及高级组件(如 JTable、JTree、JTabbedPane 等)。每个组件都有其特定的用途和方法,了解它们可以帮助我们构建...

    java万年历源程序

    通过解析代码可以学习到如何使用Swing构建UI、操作日期时间以及响应用户事件等重要的编程技巧。此外,还涉及到了文件读写的基础知识,这对于扩展程序功能(比如保存用户的设置或导出日历视图等)非常有用。

    JInternalFrame

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

    manual_de_javaswing_y_jfc.1530.zip_Java编程_Java_

    “ManualSwing.zip”则可能是一个内嵌的压缩文件,里面可能包含了Swing组件的详细文档,包括类的使用方法、示例代码、API参考等内容。通过解压并阅读这个文件,开发者可以深入理解如何创建和配置Swing组件,如按钮...

    InternalFrameDemo.rar_java窗口

    在Java Swing库中,`javax.swing.JFrame`是创建窗口的基本类,但除此之外,还有一种更灵活的窗口组件——内部框架(JInternalFrame)。本文将通过分析`InternalFrameDemo`这个示例,深入理解Java窗口特别是内部框架...

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

    这一需求通常涉及到Java图形用户界面(GUI)的构建,以及事件驱动编程的实践。本文将介绍如何使用Java的Swing库来...通过本文提供的代码示例和解释,可以为需要在Java Swing中实现类似功能的开发者提供一定的帮助和参考。

    T1_A6_InternalFrames

    在这个项目中,这个文件可能包含了创建和管理内部帧实例的核心逻辑,以及如何将它们添加到JDesktopPane的示例代码。 深入讲解Java Swing的`JInternalFrame`,我们可以了解到以下关键知识点: 1. **创建内部帧**:...

    图片管理系统

    通过`java.awt`和`javax.swing`两个包提供的组件,开发者可以创建出美观且功能丰富的用户界面。 - **JFrame**: 主窗口类,是所有顶级容器的基类,负责整个应用的显示和事件处理。 - **JDesktopPane**: 提供了一个...

Global site tag (gtag.js) - Google Analytics