Java程序设计 实验5

 

/**
作者:wwj
时间:2012/4/13
功能:实习实验所要求的功能
实验要求:
1、如下图编写一个图形用户界面,实现以下功能,源程序保存为Ex5_1.java:
(1)在文本框输入字符串,单击“输入”按钮后,在窗口下方以标签形式显示输出的内容。
(2)通过单选按钮,选择标签文字的字体样式:宋体、隶书、黑体等。
(3)通过复选框,选择标签文字的字形:粗体、斜体等
(4)通过下拉列表,设置标签文字的字号:16、18、20、22、24、26、28、30。
**/


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.font.*;
public class Ex5_1 extends JFrame
{

	private JPanel p=new JPanel();			//创建一个面板容器对象
	private JLabel label=new JLabel();		//			
	private JTextField t1=new JTextField(25);	
	private JButton button1=new JButton("输入");
	private JRadioButton r1=new JRadioButton("宋体");
	private JRadioButton r2=new JRadioButton("隶书");
	private JRadioButton r3=new JRadioButton("黑体");
	private ButtonGroup buttonGroup;
	private JCheckBox b= new JCheckBox("粗体");
	private JCheckBox i= new JCheckBox("斜体");
	private JComboBox lbk;
	private String font_num[]={"16","18","20","22","24","26","28","30" };

	public Ex5_1()
	{
		
	Container c = getContentPane();	//创建内容面板对象


//添加文本框组件
	p.add(t1);

//添加按钮组件
	p.add(button1);
	Bhandler h=new Bhandler();
	button1.addActionListener(h);

//添加单选按钮组件
	buttonGroup = new ButtonGroup();	//创建单选按钮组
	r1.setFont(new Font("Serif",Font.PLAIN,14));
	r2.setFont(new Font("Serif",Font.PLAIN,14));
	r3.setFont(new Font("Serif",Font.PLAIN,14));
	buttonGroup.add(r1);	buttonGroup.add(r2);
	buttonGroup.add(r3);
	
	rhandler rh = new rhandler();	
	r1.addItemListener(rh);
	r2.addItemListener(rh);
	r2.addItemListener(rh);
	p.add(r1); p.add(r2); p.add(r3);

//添加复选框组件
	b.setFont(new Font("Serif",Font.PLAIN,14));
	i.setFont(new Font("Serif",Font.PLAIN,14));
	CBHandler cb=new CBHandler();	//创建监听对象
	b.addItemListener(cb);	i.addItemListener(cb);	//注册监听对象
	p.add(b); p.add(i);

//添加下拉列表组件
	lbk = new JComboBox(font_num);	//创建下拉列表对象
	lbk.setMaximumRowCount(5);		
	lbk.setSelectedIndex(0);
	lbk.addItemListener(new lbHandler());	//注册监听器
	p.add(lbk);


//添加标签组件
	p.add(label);


	c.add(p);
	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	setVisible(true);	//设置为可见
	setSize(400,300);	//设置窗口大小
	
	}
		


	public static void main(String[] args)
	{
		Ex5_1 f1=new Ex5_1();
	}

//按钮的事件处理
	private class Bhandler implements ActionListener
	{
		public void actionPerformed(ActionEvent event)
		{
			label.setText("你输入的文字是:"+t1.getText());
		}
	}

//单选按钮的事件处理
	private class rhandler implements ItemListener
	{
		public void itemStateChanged(ItemEvent event)
		{
			if(r1.isSelected())	label.setFont(new Font("宋体",Font.PLAIN,20));
			else if(r2.isSelected()) label.setFont(new Font("隶书",Font.PLAIN,20));
			else label.setFont(new Font("黑体",Font.PLAIN,20));
		}
	}

//复选框的事件处理
	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;
			label.setFont(new Font("Serif",vb+vi,20));
		}
	}


//下拉列表的事件处理
	private class lbHandler implements ItemListener
	{
		public void itemStateChanged(ItemEvent e)
		{
			int size=Integer.parseInt(font_num[lbk.getSelectedIndex()]);
			if(e.getStateChange()==e.SELECTED)
			label.setFont(new Font("Serif",label.getFont().getStyle(),size));
		
		}
	}
}



 

Java程序设计》课程实验指导书程序代码(答案)(实验五:Java的异常处理),个人原创,仅供参考与交流。 希望多多交流,共同进步! 实验Java的异常处理 一、实验目的: 理解 java 语言中独特的异常处理机制; 掌握异常处理方法; 正确地使用捕获异常和声明抛弃异常的两种异常处理的方法; 了解自定义异常类的使用; 理解抛出异常和声明抛出异常的区别与联系; 二、实验内容: 1. 从命令行得到5个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。 2.写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。 3.自定义类Sanj,其中有成员 x,y,z,作为三边长,构造方法Sanj(a,b,c)分别给x,y,z赋值,方法求面积getArea和显示三角形信息(三个边长)showInfo,这2个方法中当三条边不能构成一个三角形时要抛出自定义异常NotSanjiaoException,否则显示正确信息。在另外一个类中的主方法中构造一个Sanj对象(三边为命令行输入的三个整数),显示三角形信息和面积,要求捕获异常。 三、实验要求: 1. 通过实验掌握捕获异常和声明抛弃异常的两种异常处理的方法; 2. 程序必须能够捕获Integer.parseInt()产生的异常并作相应的处理; 3. 程序必须能够将处理的相应的信息输出出来; 4. 写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提材示,并给出解决办法。(附运行界面、源代码)。 四、实验步骤: 1. (第1题) 使用try…..catch…. finally语句对Integer.parseInt()产生的异常进行捕获处理; 2. (第2题) 定义方法void sanjiao(int a,int b,int c)中,不符合条件则抛出异常(if a+b<=c(或a+c<=b,b+c<=a) then throw new IllegalArgumentException(),),再定义main方法,调用此方法,用try…..catch…. finally语句并捕获异常; 3. (第3题) 定义三角形类及相应的方法, 在定义的方法中对不符合条件则抛出异常(如上题) ,再定义main方法,对正确的数据输出正确信息,否则捕获异常; 五、自做实验 1.参考下面的程序,试修改程序,捕获相关异常,使得程序能正常运行。[提示:用错误数据测试,即可得到异常类名,运行时主方法参数输入 abc 测试] public class StringIndexOutOf{ public static void main(String args[]){ System.out.println("字符串索引越界异常"); String str=args[0]; System.out.println(“第四个字符为 ”+str.charAt(3)); int aa=Integer.parseInt(args[0]); System.out.println(“平方为 ”+aa*aa); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小巫技术博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值