JAVA Swing GUI设计 WindowBuilder Pro Container使用大全7——JDesktopPane使用

1、废话不多说,上图看效果


2、上代码:

package UI;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import javax.swing.JLayeredPane;
import javax.swing.JTextArea;
import javax.swing.JLabel;
import java.awt.Font;
import java.awt.Color;
import javax.swing.JDesktopPane;
import javax.swing.JInternalFrame;

public class test extends JFrame {

	private JPanel contentPane;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					test frame = new test();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public test() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 699, 443);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(0, 0));
		setContentPane(contentPane);
		
		JDesktopPane desktopPane = new JDesktopPane();
		contentPane.add(desktopPane, BorderLayout.CENTER);
		
		JInternalFrame internalFrame = new JInternalFrame("New JInternalFrame");
		internalFrame.setBounds(21, 207, 236, 156);
		desktopPane.add(internalFrame);
		
		JInternalFrame internalFrame_3 = new JInternalFrame("New JInternalFrame");
		internalFrame_3.setBounds(522, 32, 57, 34);
		desktopPane.add(internalFrame_3);
		
		JInternalFrame internalFrame_4 = new JInternalFrame("New JInternalFrame");
		internalFrame_4.setBounds(606, 32, 57, 34);
		desktopPane.add(internalFrame_4);
		
		JInternalFrame internalFrame_5 = new JInternalFrame("New JInternalFrame");
		internalFrame_5.setBounds(21, 32, 236, 165);
		desktopPane.add(internalFrame_5);
		
		JInternalFrame internalFrame_6 = new JInternalFrame("New JInternalFrame");
		internalFrame_6.setBounds(267, 207, 167, 156);
		desktopPane.add(internalFrame_6);
		
		JInternalFrame internalFrame_8 = new JInternalFrame("New JInternalFrame");
		internalFrame_8.setBounds(267, 32, 167, 165);
		desktopPane.add(internalFrame_8);
		
		JInternalFrame internalFrame_9 = new JInternalFrame("New JInternalFrame");
		internalFrame_9.setBounds(606, 76, 57, 34);
		desktopPane.add(internalFrame_9);
		internalFrame_9.setVisible(true);
		internalFrame_8.setVisible(true);
		internalFrame_6.setVisible(true);
		internalFrame_5.setVisible(true);
		internalFrame_4.setVisible(true);
		internalFrame_3.setVisible(true);
		internalFrame.setVisible(true);
	}
}

3、实现过程


4、JDesktopPane简介:

JDesktopPane是用来做什么的

JInternalFrame的使用
类层次结构图:
   java.lang.Object
    --java.awt.Component
    --java.awt.Container
       --javax.swing.JComponent
             --javax.swing.JInternalFrame
      JinternalFrame的使用跟JFrame几乎一样,可以最大化、最小化、关闭窗口、加入菜单等功能;唯一不同的是JinternalFrame是lightweight component ,也就是说JInternalFrame不能单独出现,必须依附在最上层组件上。由于这个特色,JInternalFrame能够利用java提供的Look and Feel功能作出完全不同于原有操作系统所提供的窗口外型,也比JFrame更具有弹性。
   一般我们会将JInternalFram加入JDesktopPane方便管理,JDesktopPane是一种特殊的JLayeredpane,用来建立虚拟桌面(Vitual Desktop).它可以显示并管理众多JInternalFrame之间的层次关系。以下是JDesktopPane的类层次结构图;
     类层次结构图:
   java.lang.Object
    --java.awt.Component
    --java.awt.Container
       --javax.swing.JComponent
             --javax.swing.JLayeredPane
                  --javax.swing.JDesktop

猜你喜欢

转载自blog.csdn.net/cincoutcin/article/details/79617112
今日推荐