Java——窗体:JFrame、JPanel等

1.JFrame

 

创建一个新的窗体

import java.awt.Color;
import javax.swing.JFrame;

//主类
//Function        : 	JFrame_demo
public class JFrame_demo {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		JFrame f = new JFrame("Swing窗口");
		f.setSize(230,80);
		f.setBackground(Color.WHITE);
		f.setLocation(300, 200);
		f.setVisible(true);
	}

}

 

除了JFrame表示之外,还有其他几种常见的窗体:JPanel、JSplitPane、JTabbedPane、JScrollPane、JDesktopPane、JInternalFrame等。

2.JPanel

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

//主类
//Function        : 	JPanel_demo
public class JPanel_demo {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
		JPanel pan = new JPanel();												//实例化JPanel对象
		pan.add(new JLabel("标签--A"));
		pan.add(new JLabel("标签--B"));
		pan.add(new JLabel("标签--C"));
		pan.add(new JButton("按钮--A"));
		pan.add(new JButton("按钮--B"));
		pan.add(new JButton("按钮--C"));
		f.add(pan);			//将JPanel加入到窗体中
		f.pack();
		f.setLocation(300,200);		//设置显示位置
		f.setVisible(true);
	}

}

3.JSplitPane

import java.awt.Container;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSplitPane;

//主类
//Function        : 	JSplitPane_demo
public class JSplitPane_demo {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
		Container cont = f.getContentPane();							//得到窗体容器
		JSplitPane lfsplit = null;													//左右分割的JSplitPane
		JSplitPane tbsplit = null;													//上下分割的JSplitPane
		
		lfsplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,new JLabel("左标签"),new JLabel("右标签"));
		lfsplit.setDividerSize(20); 					//设置左右的分割线大小
		
		tbsplit = new JSplitPane(JSplitPane.VERTICAL_SPLIT,lfsplit,new JLabel("右标签"));
		tbsplit.setDividerSize(10);		//按百分比设置上下的分割线大小
		tbsplit.setOneTouchExpandable(true); 		//快速展开/折叠分割条
		cont.add(tbsplit); 								//将tbsplit加入到窗体
		f.setSize(230, 80);  				//设置窗体
		f.setLocation(300,200);		//设置显示位置
		f.setVisible(true);
	}

}

4.JTabbedPane

 

import java.awt.Container;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;

//主类
//Function        : 	JTabbedPane_demo
public class JTabbedPane_demo {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
		Container cont = f.getContentPane();							//得到窗体容器
		JTabbedPane tab = null;
		tab = new JTabbedPane(JTabbedPane.TOP);				//设置标签在顶部显示
		JPanel pan1 = new JPanel();					//设置面板
		JPanel pan2 = new JPanel();					//设置面板
		JButton but = new JButton("按钮");	  	//定义按钮
		JLabel lab = new JLabel("标签");				//定义标签
		pan1.add(but);
		pan2.add(lab);
		String picPath = "/home/common/software/database/123.jpg";
		tab.addTab("图片选项", new ImageIcon(picPath), pan1,"图像");
		tab.addTab("文字选项", pan2);
		cont.add(tab);					//加入到容器中
		f.setSize(440, 320);  				//设置窗体
		f.setLocation(300,200);		//设置显示位置
		f.setVisible(true);
	}

}

5.JScrollPane

 

import java.awt.Container;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;

//主类
//Function        : 	JScrollPane_demo
public class JScrollPane_demo {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
		Container cont = f.getContentPane();							//得到窗体容器
		String picPath = "/home/common/software/database/photo.jpg";
		Icon icon = new ImageIcon(picPath);				//实例化Icon对象
		JPanel pan = new JPanel();									//定义一个面板
		JLabel lab = new JLabel(icon);								//定义一个标签,显示图片
		pan.add(lab); 					//将标签加到面板中
		JScrollPane scrl = null;			//声明滚动面板
		scrl = new JScrollPane(pan,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
		cont.add(scrl);						//加入到容器中
		f.setSize(440, 320);  				//设置窗体
		f.setLocation(300,200);		//设置显示位置
		f.setVisible(true);
	}

}

6.JDesktopPane和JInternalFrame

import java.awt.BorderLayout;
import java.awt.Container;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

//主类
//Function        : 	JDesktopPane_demo
public class JDesktopPane_demo {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
		f.setLayout(new BorderLayout());									//设置布局管理器
		Container cont = f.getContentPane();							//得到窗体容器
		JDesktopPane desk = new JDesktopPane();				//实例化JDesktopPane容器
		cont.add(desk, BorderLayout.CENTER); 					//将Desktop加入到窗体
		JInternalFrame jif = null;						//声明一个内部窗体对象
		String picPath = "/home/common/software/database/123.jpg";
		Icon icon = new ImageIcon(picPath);				//实例化Icon对象
		JPanel pan = null;
		for(int i=0;i<3;i++){
			jif = new JInternalFrame("指定标签"+i,true,true,true,true);
			pan = new JPanel();				//定义一个面板
			pan.add(new JLabel(icon));		//加入一个标签
			jif.setLocation(35-i*10, 35-i*10); 		//设置显示位置
			jif.add(pan);
			
			jif.pack();
			jif.setVisible(true);
			desk.add(jif);			//将内部窗体加入到Desktop中
		}
		f.setSize(440, 320);  			//设置窗体
		f.setLocation(300,200);		//设置显示位置
		f.setVisible(true);
	}

}

 

posted @ 2016-03-22 16:29  tonglin0325  阅读(332)  评论(0编辑  收藏  举报