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);
	}
}

你可能感兴趣的:(Desktop)