`
bcyy
  • 浏览: 1822453 次
文章分类
社区版块
存档分类
最新评论

Java 图形用户界面 综合例子

 
阅读更多
//实验5
/*
*实验内容:综合例子,把所有基本组件放在同一个窗口里显示出来
*基本组件包括:标签组件、按钮组件、文本框组件、文本区组件、单选按钮组件
*复选框组件、下拉列表组件
*实现组件的基本功能,程序运行结果如图
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Font.*;
import java.awt.Color;


public class JF extends JFrame
{	//定义7个面板分别存放7个不同组件
	private JPanel p1=new JPanel();			//标签组件面板
	private JPanel p2=new JPanel();			//按钮组件面板
	private JPanel p3=new JPanel();			//文本框组件面板
	private JPanel p4=new JPanel();			//文本区组件面板

	private JPanel p5=new JPanel();			//单选按钮组件面板
	private	JPanel PColor =new JPanel();	//创建一个用来显示颜色的面板
	private	JPanel PButton = new JPanel();	//创建存放单选按钮的面板
	private	JRadioButton red = new JRadioButton("red",true);//创建单选按钮选项
	private	JRadioButton green=new JRadioButton("green");
	private	JRadioButton blue = new JRadioButton("blue");
	
	private JPanel p6= new JPanel();		//复选框组件面板
	private	JLabel label2 = new JLabel("请注意观察宋体文字的变化");
	private	JCheckBox b = new JCheckBox("粗体");	//创建复选框
	private	JCheckBox i = new JCheckBox("斜体");	

	private JPanel p7 =new JPanel();	//下拉列表组件面板
	private JComboBox lbk;
	private JLabel label3;
	private String names[]={"计算机学院","珠宝学院","外语学院","经贸管理学院"};


	public JF()
	{
		super("综合例子");		//调用父类将窗口命名为"综合例子"
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设定窗口对象关闭动作

		Container c=getContentPane();		//创建内容面板对象
		c.setLayout(new GridLayout(4,2,0,0));//设置面板布局

		//添加标签组件
		JLabel label1 = new JLabel("This is a Label");	//使用文本创建一个标签对象
		label1.setFont(new Font("Serif",Font.BOLD,20));
		label1.setToolTipText("这是标签对象");	//设置标签的工具提示
		p1.add(label1);			//添加标签到面板
		p1.setBackground(Color.YELLOW);	//设置面板背景颜色
		c.add(p1);

		//添加组件
		JButton button1=new JButton("button1");	//创建按钮对象 
		button1.setFont(new Font("Serif",Font.PLAIN,20));	

		ImageIcon img1 = new ImageIcon("bird.gif");
		JButton button2 = new JButton("button2",img1);
		button2.setRolloverIcon(img1);
		button2.setFont(new Font("Serif",Font.PLAIN,14));

		//为按钮组件注册监听器
		BHandler bh = new BHandler();
		button1.addActionListener(bh);
		button2.addActionListener(bh);
		p2.add(button1);
		p2.add(button2);
		p2.setBackground(Color.green);
		c.add(p2);		//添加到内容面板
	
		//添加文本框组件
		JTextField t1=new JTextField();
		JTextField t2=new JTextField();
		JTextField t3=new JTextField();
		JPasswordField k1=new JPasswordField();
		p3.setLayout(new FlowLayout());
		p3.setBackground(Color.pink);
		t1=new JTextField(10);
		t2=new JTextField("Input the test",20);
		t2.setFont(new Font("Serif",Font.PLAIN,12));
		t3=new JTextField("Can not edit",20);
		t3.setFont(new Font("Serif",Font.PLAIN,12));
		t3.setEditable(false);			//设置为不可编辑	
		k1=new JPasswordField("123456",15);
		p3.add(t1); p3.add(t2); p3.add(t3);
		p3.add(k1); c.add(p3);

		//添加文本区组件
		p4.setBackground(Color.white);
		p4.setLayout(new FlowLayout());		
		JTextArea ta1=new JTextArea(2,8);
		JTextArea ta2=new JTextArea(5,10);
		ta1.setFont(new Font("Serif",Font.PLAIN,12));
		ta2.setFont(new Font("Serif",Font.PLAIN,12));
		ta1.setText("JTextArea1");
		ta2.setText("JTextArea2");
		ta2.setTabSize(10);		//设置【Tab】键跳离方法
		ta2.setLineWrap(true);	//自动换行功能方法
		ta2.setWrapStyleWord(true);//断行不断字的功能方法

		p4.add(new JScrollPane(ta1));	
		p4.add(new JScrollPane(ta2));
		c.add(p4);


		//添加单选按钮组件
		ButtonGroup buttonGroup = new ButtonGroup();	
		red.setFont(new Font("Serif",Font.PLAIN,14));
		green.setFont(new Font("Serif",Font.PLAIN,14));
		blue.setFont(new Font("Serif",Font.PLAIN,14));
		PColor.setBackground(Color.red); //设置默认背景
		buttonGroup.add(red);	buttonGroup.add(green);	//添加选项按钮到组中
		buttonGroup.add(blue);
		PButton.add(red);	PButton.add(green);
		PButton.add(blue);


		RHandler rh=new RHandler();		//创建监听器
		red.addItemListener(rh);	blue.addItemListener(rh);//注册监听器
		green.addItemListener(rh);

		p5.setLayout(new BorderLayout());
		p5.add(PColor,BorderLayout.CENTER);		//设置布局
		p5.add(PButton,BorderLayout.SOUTH);
		c.add(p5);


		//添加复选框组件
		p6.setLayout(new FlowLayout());
		label2.setFont(new Font("Serif",Font.PLAIN,35));
		p6.add(label2);

		b.setFont(new Font("Serif",Font.PLAIN,20));
		i.setFont(new Font("Serif",Font.PLAIN,20));

		CBHandler ch=new CBHandler();
		b.addItemListener(ch); i.addItemListener(ch);	
		p6.add(b); p6.add(i);
		c.add(p6);

		//添加下拉列表组件
		p7.setBackground(Color.cyan);
		lbk = new JComboBox(names);		//创建下拉列表对象
		lbk.setMaximumRowCount(4);		//设置下拉列表所能显示的列表项最大数目
		lbk.setSelectedIndex(0);		//设置默认的选项
		lbk.setFont(new Font("Serif",Font.PLAIN,15));	//设置字体
		lbk.addItemListener(new lbHandler());	//注册监听器

		label3 = new JLabel("你选择了:计算机学院");
		label3.setFont(new Font("Serif",Font.PLAIN,20));
		p7.add(lbk,BorderLayout.NORTH); 
		p7.add(label3,BorderLayout.CENTER);
		c.add(p7);



		setSize(600,600);		//设置窗口大小
		setVisible(true);		//指定窗口可见
		
	}
	public static void main(String[] args)
	{
		JF d=new JF();		//创建JF类对象d创建窗口
	}


//按钮组件的事件处理
	private class BHandler implements ActionListener
	{
		public void actionPerformed(ActionEvent event)
		{
			JOptionPane.showMessageDialog(JF.this,"你按了:"+event.
				getActionCommand());
		}
	}

//单选按钮组件的事件处理
	private class RHandler implements ItemListener
	{
		public void itemStateChanged(ItemEvent event)
		{
			if(red.isSelected())
				PColor.setBackground(Color.red);
			else if(green.isSelected())
				PColor.setBackground(Color.GREEN);
			else PColor.setBackground(Color.BLUE);
		}
	}

//复选框组件的事件处理
	private class CBHandler implements ItemListener
	{
		private int vb=Font.PLAIN;
		private int vi=Font.PLAIN;
		public void itemStateChanged(ItemEvent e)
		{
			if(e.getSource()==b)
				vb=b.isSelected()?Font.BOLD:Font.PLAIN;
			if(e.getSource()==i)
				vi=i.isSelected()?Font.ITALIC:Font.PLAIN;
			label2.setFont(new Font("Serif",vb+vi,20));
		}
	}


//下拉列表组件的事件处理
	private class lbHandler implements ItemListener
	{
		public void itemStateChanged(ItemEvent e)
		{
			if(e.getStateChange()==e.SELECTED)
			{
				label3.setText("你选择了:"+names[lbk.getSelectedIndex()]);
			}
		}
	}

}


分享到:
评论

相关推荐

    java图形用户界面的例子

    java图形用户界面的例子,可以参考一下!!

    Java+创建图形用户界面例子集源代码学习

    Java+创建图形用户界面例子集源代码学习

    Java 创建图形用户界面例子集

    Java 创建图形用户界面例子集 Java 创建图形用户界面例子集

    Java+创建图形用户界面例子集源码整理

    Java+创建图形用户界面例子集源码整理

    java(swing,awt)图形用户界面编程100多个案例

    java(swing,awt)图形用户界面编程100多个案例,里面的例子好好学学

    Java图形用户界面:高级组件综合例子

    绍Java图形用户界面:高级组件综合例子

    Java图形用户界面设计(Swing)的介绍

    看到多数人提到 Java 就以为是网络开发,其实不是这样的,Java 也可以开发应用程序,而且可以开发出漂亮的图形用户界面的应用程序,因此,我写下这篇文章,希望能带你进入 Java 图形用户界面设计之门。

    java用户图形界面设计教材代码

    这里面有这本教材所举例的所有例子 后面更有俄罗斯方块等案例 是一个不可多得的 java图形界面的教材

    !Java2程序设计例子源代码新

    第一章 Java程序设计概述,第二章 Java程序设计技术,第三章 Java的面向对象程序设计,第四章 Java常用类,第五章 Java异常处理,第六章 Java图形用户界面,第七章 Swing组件,第八章 Java对话框,第九章 输入输出流...

    精通Java:JDK、数据库系统开发Web开发(实例代码)

    第3篇 图形用户界面 第10章 Java Swing(上) 第11章 Java Swing(下) 第12章 Applet网页小程序 第13章 图形编程 第14章 多媒体编程 第4篇 Java高级技术 第15章 字符串处理 第16章 I/O输入输出流 第17章 线程 第18...

    Java课程设计:计算器例子源码 文档.rar

    Java课程设计:计算器例子源码 文档,可修改成你的毕业论文吧,注释和文档都写的很好。用Java制作计算器的实例,运用了...制作了计算器的用户界面。通过消息响应技术,实现响应用户的操作的功能,最终实现人机交互。

    java源码包---java 源码 大量 实例

    内容索引:JAVA源码,综合应用,J2me游戏,PNG,图形处理  这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失。使用时候只需在控制台窗口执行...

    GUI.rar_java GUI SIMPLE

    关于java图形用户界面的简单例子,适合初学java者学习用,是基本的java编程

    java源码包4

    内容索引:JAVA源码,综合应用,J2me游戏,PNG,图形处理  这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失。使用时候只需在控制台窗口执行...

    java源码包3

    内容索引:JAVA源码,综合应用,J2me游戏,PNG,图形处理  这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失。使用时候只需在控制台窗口执行...

    JAVA上百实例源码以及开源项目源代码

    内容索引:JAVA源码,综合应用,J2me游戏,PNG,图形处理  这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失。使用时候只需在控制台窗口执行...

    JAVA上百实例源码以及开源项目

    内容索引:JAVA源码,综合应用,J2me游戏,PNG,图形处理  这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失。使用时候只需在控制台窗口执行...

    java源码包2

    内容索引:JAVA源码,综合应用,J2me游戏,PNG,图形处理  这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失。使用时候只需在控制台窗口执行...

    Java源码包100个设计实例.zip

    Java24点游戏逼真图形版代码.rar JavaScript万年历.rar Java二进制IO类与文件复制操作实例.rar Java从压缩包中提取文件.rar Java从网络取得文件.rar Java仓库管理系统,Access数据库.rar Java仿Vista界面风格的登录...

Global site tag (gtag.js) - Google Analytics