swing其他高级面板

分割面板的简单使用

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSplitPane;

public class ExampleFrame extends JFrame 
{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	public static void main(String[] args)
	{
		ExampleFrame frame=new ExampleFrame();
		frame.setVisible(true);
	}
	public ExampleFrame()
	{
		super();
		setTitle("分割面板");
		setBounds(100,100,500,375);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		final JSplitPane splitPane=new JSplitPane();
		splitPane.setDividerLocation(40);              //分割条左侧宽度为40
		getContentPane().add(splitPane, BorderLayout.CENTER);
		splitPane.setLeftComponent(new JLabel("   1"));
		final JSplitPane vsplitPane=new JSplitPane(JSplitPane.VERTICAL_SPLIT);
		vsplitPane.setDividerLocation(30);
		vsplitPane.setDividerSize(8);                 //设置分割条的宽度为8
		vsplitPane.setOneTouchExpandable(true);        //使用ui小部件
		vsplitPane.setContinuousLayout(true);          //调整分割条的位置时面板的的重绘方式为连续绘制
		splitPane.setRightComponent(vsplitPane);
		vsplitPane.setLeftComponent(new JLabel("   2"));
		vsplitPane.setRightComponent(new JLabel("   3"));
	}
}

UI小部件的所用是用鼠标拖拽分割条时,面板则重绘(标签内容的位置在随时发生改变)



选项卡面板的简单使用

import java.awt.BorderLayout;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTabbedPane;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class TabbedPane extends JFrame
{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	public static void main(String[] args)
	{
		TabbedPane frame=new TabbedPane();
		frame.setVisible(true);
	
	}
	TabbedPane()
	{
		super("选项卡面板");
		setSize(300,300);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		final JTabbedPane tabbedPane=new JTabbedPane();
		tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);//滚动布局
		tabbedPane.addChangeListener(new ChangeListener()
				{
				public void stateChanged(ChangeEvent e)         //选项动作响应
				{
			int selectedIndex=tabbedPane.getSelectedIndex();
			String title=tabbedPane.getTitleAt(selectedIndex);
			System.out.println(title);
				}
	           });
		getContentPane().add(tabbedPane, BorderLayout.CENTER);
		ImageIcon imageIcon=new ImageIcon("G:\\sourse\\timg(1).jpg");//设置磁盘文件为图标
		ImageIcon imageIcon1=new ImageIcon("G:\\sourse\\5(1).jpg");
		final JLabel la=new JLabel();
		la.setText("选项卡A");
		tabbedPane.addTab("选项卡A",imageIcon,la,"点击查看选项卡A");
		final JLabel la1=new JLabel();
		la1.setText("选项卡B");
		tabbedPane.addTab("选项卡B",imageIcon1,la1,"点击查看选项卡B");
		final JLabel la2=new JLabel("选项卡C");
		tabbedPane.addTab("选项卡C",imageIcon1,la2,"点击查看选项卡C");
		tabbedPane.setSelectedIndex(1);                 //设置索引为1的选项卡被选中
		tabbedPane.setEnabledAt(0,false);               //索引为0的选项卡不可用        
	}
}

桌面面板

import java.awt.BorderLayout;

import javax.swing.ImageIcon;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class JDeskPane extends JFrame
{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	public static void main(String [] args)
	{
		JDeskPane  jd=new JDeskPane();
		jd.pane();
		
		jd.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jd.setVisible(true);
		
	}
	public JDeskPane()
	{
		super("JDesktopPane面板");
	}
	private void pane()
	{
		final JDesktopPane desktopPane=new JDesktopPane();
		setSize(369,300);
		getContentPane().add(desktopPane,BorderLayout.CENTER);
		final JLabel backLabel=new JLabel();
		ImageIcon icon=new ImageIcon("G:\\sourse\\flawer.jpg");
		backLabel.setIcon(icon);
		backLabel.setBounds(0,0,icon.getIconWidth(),icon.getIconHeight());
		desktopPane.add(backLabel,new Integer(Integer.MIN_VALUE));
	}
}
桌面面板和内部窗体
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyVetoException;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Interframe extends JFrame
{
	/**
	 * 
	 */
	private static final long serialVersionUID = 6036055622976411906L;
	JDesktopPane desktopPane=null;
	JInternalFrame pInternalFrame=null;
	JInternalFrame hInternalFrame=null;
	JInternalFrame iInternalFrame=null;
	JInternalFrame aInternalFrame=null;
	public static void main(String[] args)
	{
		Interframe frame=new Interframe();
		frame.setVisible(true);
	}
	public Interframe()
	{
		super();
		setTitle("班级管理系统");
		setBounds(100,100,369,300);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		desktopPane=new JDesktopPane();                              //创建桌面面板对象
		desktopPane.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
		getContentPane().add(desktopPane, BorderLayout.CENTER);
		final JLabel backLabel=new JLabel();
		ImageIcon icon=new ImageIcon("G:\\sourse\\flawer.jpg");       //设置背景图片
		backLabel.setIcon(icon);                                        
		backLabel.setBounds(0,0,icon.getIconWidth(),icon.getIconHeight());
		//将背景放在最底层
		desktopPane.add(backLabel,new Integer(Integer.MIN_VALUE)); 
		JButton jb=new JButton("零班");
		JButton jb1=new JButton("一班");
		JButton jb2=new JButton("二班");
		JButton jb3=new JButton("三班");
		JPanel jp=new JPanel();
		getContentPane().add(jp,BorderLayout.NORTH);
		jp.add(jb);
		jp.add(jb1);
		jp.add(jb2);
		jp.add(jb3);
		jb.addActionListener(new aInternalFrameActionListener());
		jb1.addActionListener(new pInternalFrameActionListener());
		jb2.addActionListener(new hInternalFrameActionListener());
		jb3.addActionListener(new iInternalFrameActionListener());
	}
	private class aInternalFrameActionListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e) {
			if(aInternalFrame==null||aInternalFrame.isClosed())
			{
				JInternalFrame[] allFrames=desktopPane.getAllFrames();
				int titleBarHight=30*allFrames.length;
				int x=10+titleBarHight,                              //设置窗口的显示位置
						y=x;                                   
				int width=369,height=300;                             //设置窗体的大小
				aInternalFrame=new JInternalFrame("零班",true,true,true,true);  //创建窗体及设置其参数
				aInternalFrame.setBounds(x,y,width,height);
				aInternalFrame.setVisible(true);
				desktopPane.add(aInternalFrame);
			}
			try
			{
				aInternalFrame.setSelected(true);                   //选中床体
			}catch(PropertyVetoException propertyVetoE)
			{
				propertyVetoE.printStackTrace();
			}
			ImageIcon icon=new ImageIcon("G:\\sourse\\5(1).jpg");
			aInternalFrame.setFrameIcon(icon);
		}		
	}
	private class pInternalFrameActionListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e) {
			if(pInternalFrame==null||pInternalFrame.isClosed())
			{
				JInternalFrame[] allFrames=desktopPane.getAllFrames();
				int titleBarHight=30*allFrames.length;
				int x=10+titleBarHight,
						y=x;
				int width=369,height=300;
				pInternalFrame=new JInternalFrame("一班",true,true,true,true);
				pInternalFrame.setBounds(x,y,width,height);
				pInternalFrame.setVisible(true);
				desktopPane.add(pInternalFrame);
			}
			try
			{
				pInternalFrame.setSelected(true);
			}catch(PropertyVetoException propertyVetoE)
			{
				propertyVetoE.printStackTrace();
			}
			ImageIcon icon=new ImageIcon("G:\\sourse\\5(1).jpg");
			pInternalFrame.setFrameIcon(icon);
		}		
	}
	private class hInternalFrameActionListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e) {
			if(hInternalFrame==null||hInternalFrame.isClosed())
			{
				JInternalFrame[] allFrames=desktopPane.getAllFrames();
				int titleBarHight=30*allFrames.length;
				int x=10+titleBarHight,
						y=x;
				int width=369,height=300;
				hInternalFrame=new JInternalFrame("二班",true,true,true,true);
				hInternalFrame.setBounds(x,y,width,height);
				hInternalFrame.setVisible(true);
				desktopPane.add(hInternalFrame);
			}
			try
			{
				hInternalFrame.setSelected(true);
			}catch(PropertyVetoException propertyVetoE)
			{
				propertyVetoE.printStackTrace();
			}
			ImageIcon icon=new ImageIcon("G:\\sourse\\5(1).jpg");
			hInternalFrame.setFrameIcon(icon);
		}		
	}
	private class iInternalFrameActionListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e) {
			if(iInternalFrame==null||iInternalFrame.isClosed())
			{
				JInternalFrame[] allFrames=desktopPane.getAllFrames();
				int titleBarHight=30*allFrames.length;
				int x=10+titleBarHight,
						y=x;
				int width=369,height=300;
				iInternalFrame=new JInternalFrame("三班",true,true,true,true);
				iInternalFrame.setBounds(x,y,width,height);
				iInternalFrame.setVisible(true);
				desktopPane.add(iInternalFrame);
			}
			try
			{
				iInternalFrame.setSelected(true);
			}catch(PropertyVetoException propertyVetoE)
			{
				propertyVetoE.printStackTrace();
			}	
			ImageIcon icon=new ImageIcon("G:\\sourse\\5(1).jpg");
			iInternalFrame.setFrameIcon(icon);
		}		
	}
}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值