实验项目3 组件与事件处理第2部分

合集下载

实验室意外事件处理与报告制度范本(3篇)

实验室意外事件处理与报告制度范本(3篇)

实验室意外事件处理与报告制度范本1.概述:实验室是开展科研工作的重要场所,为了保障实验室人员的安全和实验室设备的正常运行,制定实验室意外事件处理与报告制度是必要的。

2.责任:实验室负责人是实验室安全的主要责任人,负责制定并实施实验室意外事件处理与报告制度;实验室所有人员都有义务遵守该制度。

3.意外事件处理流程:(1)事故发生:如果在实验室里发生意外事故,相关人员要第一时间停止实验活动,并采取紧急救援措施,保证人员安全。

(2)事故报告:事故发生后,相关人员必须立即向实验室负责人报告事故情况。

报告内容应包括事故发生时间、地点、人员伤亡情况、事故原因初步分析等。

(3)事故调查:实验室负责人要立即组织专业人员对事故进行调查,确定事故发生原因,并采取相应措施避免类似事故再次发生。

(4)事故报告:事故调查结束后,实验室负责人要向上级部门提供详细的事故报告,报告内容应包括事故的原因、经过、损失情况、救援措施等。

4.意外事件报告制度:(1)报告时限:事故发生后24小时内必须向实验室负责人报告。

(2)报告方式:可以书面、口头或电子邮件形式报告。

(3)报告内容:报告内容应包括事故发生时间、地点、人员伤亡情况、事故原因初步分析等。

(4)报告责任:实验室相关人员都有报告事故的责任,如有不报告事故或虚报事故行为,将受到相应的处罚。

5.措施执行与监督:(1)制度执行:实验室负责人要确保该制度得到执行,并保证制度内容的完整性和可行性。

(2)制度宣传:要定期向实验室相关人员宣传该制度的内容和重要性,提高他们对实验室安全的重视程度。

(3)制度监督:上级部门和相关监管机构对实验室是否按照制度要求进行事故报告和调查进行监督,并要求实验室做好相应的整改工作。

以上为实验室意外事件处理与报告制度的范文,实验室应根据实际情况进行相应的调整和完善。

实验室意外事件处理与报告制度范本(2)1. 目的:此制度旨在规范实验室意外事件的处理流程,保证实验室的安全运行,并及时准确地报告和处理意外事件。

《移动应用开发》课程教学大纲

《移动应用开发》课程教学大纲

《移动应用开发》课程教学大纲课程编号:08152400课程名称:移动应用开发/ Mobile application development总学时/学分:48 /3 (其中理论32学时, 实验16学时)适用专业:计算机科学与技术一、课程目标通过本课程学习,学生应达到如下目标:目标1. 了解Android特征,理解Android的体系结构,熟悉Android的用户界面,能够较为深入地理解Android的体系结构。

目标2. 利用Android的四大组件和组件通信等技术来表达处理程序应用问题。

目标3. 将数据存储等技术运用到综合系统开发中。

目标4. 搭建Android开发环境,能设计实现各种Android技术的应用程序,且能测试运行。

二、教学过程安排三、实验或上机内容四、课程目标达成方法五、考核标准本门课程考核包括5个部分,分别为考试、作业、实验、讨论和测验。

具体要求及评分方法如下:4、课堂讨论设置讨论课一次,要求学生按照讨论题目分组查阅资料,归纳总结,课堂汇报。

5、测验随堂测验,老师给出题目,学生回答。

具体有任课老师给出评分标准。

六、教材及主要参考资料[1] 仲宝才,颜德彪,刘静. Android移动应用开发实践教程.清华大学出版社,2018-9[2] 明日科技.零基础学Android,吉林大学出版社,2017年9月.[3] 王向辉,张国印,沈洁. Android应用程序开发.清华大学出版社,2016-6[4] 杨谊.喻德旷.Android移动应用开发. 人民邮电出版社;2018.4[5] 兰红,李淑芝. 21世纪高等学校计算机类课程创新规划教材:Android studio移动应用开发从入门到实战.清华大学出版社; 第1版,2018.11。

上机实践4 组件及事件处理

上机实践4  组件及事件处理

实验四组件及事件处理一.实验目的学习处理ActionEvent事件;学习处理ItemEvent事件和paint方法;学习使用布局类。

二.实验要求实验前,应事先熟悉相关知识点,拟出相应的实验操作步骤,明确实验目的和要求;实验过程中,服从实验指导教师安排,遵守实验室的各项规章制度,爱护实验仪器设备;实验操作完成后,认真书写实验报告,总结实验经验,分析实验过程中出现的问题。

三.实验内容1、算术测试编写一个算术测试小软件,用来训练小学生的算术能力。

程序由3个类组成,其中Teacher类对象负责给出算术题目,并判断回答者的答案是否正确:ComputerFrame类对象负责为算术题目提供视图,比如用户可以通过ComputerFrame类对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答案:MainClass是软件的主类。

2、信号灯编写一个带有窗口的应用程序。

在窗口的北面添加一个下拉列表,该下拉列表有“红灯”、“绿灯”和“黄灯”三个选项。

在窗口的中心添加一个画布,当用户在下拉列表选择某项后,画布上绘制相应的信号灯。

3、布局与日历(1)编写一个应用程序,有一个窗口,该窗口为BorderLayout布局。

窗口的中心添加一个Panel容器pCenter:pCenter的布局是7行7列的GridLayout布局,pCenter中放置49个标签,用来显示日历。

窗口的北面添加一个Panel容器pNorth,其布局是FlowLayout布局,pNorth放置两个:按钮:nextMonth和previousMonth,单击nextMonth按钮,可以显示当前月的下一月的日历;单击previousMonth,可以显示当前月的上一月的日历。

窗口的南面添加一个Panel容器pSouth,其布局是FlowLayout布局,pSouth中放置一个标签用来显示一些信息。

(2)请按模板要求,将【代码】替换为Java程序代码。

(3)在CalendarFrame类中增加一个TextField文本框,用户可以通过在文本框中输入年份来修改calendar对象的int成员year。

实验室意外事件处理与报告制度范文(3篇)

实验室意外事件处理与报告制度范文(3篇)

实验室意外事件处理与报告制度范文一、引言实验室是科研机构和高校重要的科学研究和教学场所,为保证实验室工作的安全与顺利进行,制定了实验室意外事件处理与报告制度。

本制度旨在明确实验室意外事件处理的流程,保障实验人员的人身安全和实验设备的完整性,及时有效地进行处理和报告,以充分保障实验室的安全和科研教学的顺利进行。

二、目的本制度的目的在于规范实验室意外事件的处理和报告流程,加强实验室安全管理,及时处理意外事件,最大程度地减少事故损失,保护实验室人员的生命财产安全,确保实验室科研教学正常进行。

三、定义1. 实验室意外事件:指在实验室环境中发生的意外伤害事件、火灾事件、泄漏事件、爆炸事件等。

2. 实验室意外事件处理:指对发生的意外事件进行紧急处理,采取必要措施以保护人员安全和实验设备的完整性。

3. 实验室意外事件报告:指对发生的意外事件进行详细的报告,上报给上级主管部门和相关人员,以便进行进一步的调查和处理。

四、实验室意外事件处理流程1. 发现事件:一旦实验室意外事件发生,任何人员都应第一时间发现并报告。

2. 报警:立即拨打实验室内部紧急电话或者呼叫安全管理人员、消防人员。

同时,告知周围的人员发生了意外情况,并采取必要的紧急救助措施,确保受伤人员的安全。

3. 切断电源和气源:如果实验室意外事件与电力或气体有关,应立即切断电源和气源,以防止进一步扩大事故范围。

4. 针对不同类型的意外事件,采取相应措施:具体措施根据实际情况来定,可以包括疏散人员、封锁区域、灭火、封存容器、控制泄漏等。

5. 协助调查:在处理意外事件的同时,协助安全管理人员和相关部门进行调查,找出事故的原因和责任,为以后避免类似意外事件再次发生提供依据。

五、实验室意外事件报告流程1. 事件报告:实验室意外事件处理人员应当尽快完成事故报告,并详细描述事件的经过、影响、原因和责任等信息。

2. 报告审查:实验室意外事件报告应经过相关部门的审查和核实,确保报告的真实性和准确性。

中间件技术 第3讲 事务中间件(2)

中间件技术 第3讲 事务中间件(2)
请求/应答方式(同步、异步) 对话方式 队列方式 交易请求的转发
灵活性
HongTransaction --监控和管理
图形化管理界面和命令行管理 集中化应用定义 监控系统运行状况 快速部署和管理系统
HongTransaction --负载均衡
服务表 A …… N1 svr1 B …… N2 svr2 C …… N1 svr3 请求A SVR1 中间件 客户 请求B SVR3
wቤተ መጻሕፍቲ ባይዱb图形管理界面 说明:
服务在两台机器(sun, unixware) 中的分布 在sun 和unixware
上都有银行服务(开户,存款,取款,转帐)
管理功能
服务的启动和停止 服务进程的启动和停止 服务进程失败后(不小心被Kill掉等情况)的自动重启
HongTransaction简单演示(续三)
银行业务系统 示例
40
Programming Environment
client app
debit credit inquire
Client is a process with client library bound in Server application is a a set of services (message handlers) bound into a Tuxedo process framework
35%
BEA TUXEDO Top End CICS/6000 Encina openUTM UniKix Other
TP software market
Open TP - Tuxedo has 35% Proprietary TP - CICS, IMS, TPF, Tandem Middleware market – TP software MOM systems Publish and subscribe

项目三--按钮与事件的侦听与处理--flash动画ppt

项目三--按钮与事件的侦听与处理--flash动画ppt

4.1 任务1----事件侦听
4.1.2 知识储备----事件处理模式 在ActionScript 3.0中使用addEventListener方法注册事件侦听器,如 果想要解除侦听,就需要使用removeEventListener方法。解除侦听的 时候,也要使用与注册时相同的函数参数,也就是要正确地指定想解除 的是由谁负责的,发生什么事件时该执行的相关工作。
4.1 任务1----事件侦听
4.1.2 知识储备----事件处理模式
以下代码是实现在舞台上任意位置单击,输出“舞台被单击了!” stage.addEventListener(MouseEvent.CLICK,clickHandler); function clickHandler (me:MouseEvent) {
4.1 任务1----事件侦听
4.1.1 知识储备----何谓事件
ActionScript 3.0中的事件分类: 有些与用户交互有关,例如单击、双击鼠标等鼠标操作,按下、松开按 键等键盘事件,这些事件需要用户交互才能触发。 有些事件则是系统自身触发的,例如外部数据加载完毕、网络异常、播 放头进入帧等。 ActionScript 3.0中的事件,如同日常生活一样,就是发生的事情,但 是它是能够被ActionScript 3.0识别并可被响应的事情。
4.1 任务1----事件侦听
4.1.2 知识储备----事件处理模式
ActionScript 3.0事件处理模式有三大要素,即事件发送者、事件对象 和事件接收者。 事件发送者-----负责发送事件,例如当按钮被鼠标单击,此时按钮就是 事件发送者,事件发送者可以是影片剪辑、按钮和舞台等。 事件对象------是在事件发生时由系统自动产生的,它记录了事件类型、 事件发送者等有关此次事件的详细信息,供事件接收者读取,以便可以 做出针对性处理。 事件接收者------负责接收和处理事件,在ActionScript 3.0中,接收者 实质上是就是一个函数,它接收事件对象并可以读取事件对象的属性, 对事件进行响应处理。

el-cascader readonly disabled

el-cascader readonly disabled

el-cascader readonly disabled 第一部分: 了解el-cascader 组件el-cascader 是Element UI 框架中的一个级联选择器组件,用于处理层级结构的数据。

在某些情况下,我们可能需要设置el-cascader 组件为只读(readonly)或禁用(disabled)状态,以满足特定的需求。

1. el-cascader 组件简介:在介绍readonly 和disabled 属性之前,首先了解el-cascader 组件的基本特性。

el-cascader 允许用户通过点击展开的方式选择多级联动的数据,通常用于处理地区、分类等有层级结构的信息。

2. readonly 属性:el-cascader 的readonly 属性用于设置组件为只读状态。

当设置为只读时,用户可以看到当前选择的值,但无法进行编辑或更改。

这对于展示信息而不允许用户修改的场景非常实用。

3. disabled 属性:与readonly 不同,disabled 属性将el-cascader 设置为禁用状态。

在禁用状态下,用户无法进行选择,且组件呈现出灰显状态,传达给用户当前不可交互。

第二部分: el-cascader 的使用示例通过一个实际的使用示例,我们可以更好地理解如何在el-cascader 中应用readonly 和disabled 属性。

1. 基本用法:首先,我们展示el-cascader 的基本用法,包括如何绑定数据源、设置默认值等。

这是el-cascader 的基础配置。

2. readonly 的应用:接着,我们演示如何将el-cascader 设置为只读状态。

在某些场景下,我们希望用户能够查看当前选择,但不能进行编辑。

通过设置readonly 属性,我们可以轻松实现这一需求。

3. disabled 的应用:禁用el-cascader 的场景通常出现在特定条件下,例如在某个条件未满足时,阻止用户进行选择。

实验室意外事件处理与报告制度样本(4篇)

实验室意外事件处理与报告制度样本(4篇)

实验室意外事件处理与报告制度样本第一章总则为了保障实验室安全,提高实验室管理水平和员工安全意识,制定本实验室意外事件处理与报告制度。

第二章意外事件的定义1. 实验室意外事件指在实验室活动中发生的意外事故、伤害或损失。

2. 包括但不限于以下情况:(1) 实验室设备故障或事故;(2) 化学品、药品泄漏或泄露;(3) 实验操作不当导致的火灾、爆炸;(4) 人身伤害、中毒或感染等;(5) 其他与实验室活动相关的意外事件。

第三章意外事件处理程序1. 发现意外事件时,首先应迅速采取必要的紧急措施,保护实验室和人员安全。

2. 确定事故范围并报告主管部门。

3. 确定事故原因和责任,进行调查和分析。

4. 制定改进措施,防止类似事故再次发生。

5. 组织相关部门进行应急处理和恢复工作。

第四章意外事件报告程序1. 意外事件报告应包括以下内容:(1) 事件描述,包括时间、地点、人员伤亡情况等;(2) 事故原因和责任调查结果;(3) 损失估计和损失评估;(4) 改进措施和预防措施。

2. 实验室负责人或项目负责人应在发生意外事件后24小时内向上级部门报告。

第五章处理和报告责任1. 实验室负责人是实验室意外事件的第一责任人,负责组织意外事件处理和报告工作。

2. 实验室员工发现意外事件时,应立即汇报给实验室负责人。

3. 监督部门和安全部门负责监督实验室意外事件的处理和报告工作,提出改进意见和建议。

第六章附则1. 本制度自发布之日起实施。

2. 本制度的解释权归实验室管理部门。

本制度经实验室管理部门讨论通过,并于____年____月____日执行。

附:实验室意外事件报告表格。

实验室意外事件报告表格事件描述:时间:地点:人员伤亡情况:事故原因和责任调查结果:损失估计和损失评估:改进措施和预防措施:上报时间:上报人:审核人:备注:实验室意外事件处理与报告制度样本(2)一、目的和范围该制度的目的是确保实验室意外事件的及时处理和报告,并促进实验室的安全管理和事故预防工作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验项目3 第2部分组件与事件处理(2)[实验目的]1、进一步掌握java组件及事件编程的各种方法。

2、掌握对话框的编制和事件处理方法。

3、掌握鼠标焦点事件、鼠标事件及键盘事件的处理方法。

4、掌握Swing组件及事件编程方法。

[实验要求]1、复习理论教学中所学的内容。

2、认真进行实验预习,查阅参考书,书写源程序,书写实验预习报告。

3、认真总结实验并书写实验报告。

[实验课时] 2学时[实验教学方式] 学生上机实验,教师随堂指导。

[实验内容]1、字体对话框:请读懂下面模板代码,将其补充完整并调试运行。

//FontFamilyNames.javaimport java.awt.GraphicsEnvironment;public class FontFamilyNames{ String fontName[];public String [] getFontName(){ GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();fontName=ge.getAvailableFontFamilyNames();return fontName;}}//FontDialog.javaimport java.awt.event.*;import java.awt.*;import javax.swing.JLabel;public class FontDialog extends Dialog implements ItemListener,ActionListener { FontFamilyNames fontFamilyNames;int fontSize=38;String fontName;Choice fontNameList;JLabel label;Font font;Button yes,cancel;static int YES=1,NO=0;int state=-1;FontDialog(Frame f){ super(f);fontFamilyNames=new FontFamilyNames();【代码1】 //对话框设置为有模式yes=new Button("Yes");cancel=new Button("cancel");yes.addActionListener(this);cancel.addActionListener(this);label=new JLabel("hello,奥运",JLabel.CENTER); fontNameList=new Choice();String name[]=fontFamilyNames.getFontName();for(int k=0;k<name.length;k++){ fontNameList.add(name[k]);}fontNameList.addItemListener(this);add(fontNameList,BorderLayout.NORTH);add(label,BorderLayout.CENTER);Panel pSouth=new Panel();pSouth.add(yes);pSouth.add(cancel);add(pSouth,BorderLayout.SOUTH);setBounds(100,100,280,170);addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) { state=NO;setVisible(false);}});validate();}public void itemStateChanged(ItemEvent e){ fontName=(String)fontNameList.getSelectedItem();font=new Font(fontName,Font.BOLD,fontSize);label.setFont(font);label.repaint();validate();}public void actionPerformed(ActionEvent e){ if(e.getSource()==yes){ state=YES;【代码2】 //对话框设置为不可见}else if(e.getSource()==cancel){ state=NO;【代码3】 //对话框设置为不可见}}public int getState(){ return state;}public Font getFont(){ return font;}}// FrameHaveDialog.javaimport java.awt.event.*;import java.awt.*;import javax.swing.JTextArea;public class FrameHaveDialog extends Frame implements ActionListener{ JTextArea text;Button buttonFont;FrameHaveDialog(){ buttonFont=new Button("设置字体");text=new JTextArea("Java 2实用教程(第三版)");buttonFont.addActionListener(this);add(buttonFont,BorderLayout.NORTH);add(text);setBounds(60,60,300,300);setVisible(true);validate();addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);}});}public void actionPerformed(ActionEvent e){ if(e.getSource()==buttonFont){ FontDialog dialog=【代码4】 //创建对话框【代码5】 //对话框设置为可见【代码6】 //对话框设置设置标题为“字体对话框”if(dialog.getState()==FontDialog.YES){ text.setFont(dialog.getFont());text.repaint();}if(dialog.getState()==FontDialog.NO){ text.repaint();}}}}//FontDialogMainClass.javapublic class FontDialogMainClass{ public static void main(String args[]){ new FrameHaveDialog();}}2、英语单词拼写练习:请读懂下面模板代码,将其补充完整并调试运行。

//RondomString.javapublic class RondomString{ String str="";public String getRondomString(String s){ StringBuffer strBuffer=new StringBuffer(s);int m=strBuffer.length();for(int k=0;k<m;k++){ int index=(int)(Math.random()*strBuffer.length());char c=strBuffer.charAt(index);str=str+c;strBuffer=strBuffer.deleteCharAt(index);}return str;}}//LetterLabel.javaimport java.awt.*;import java.awt.event.*;public class LetterLabel extends Button implements FocusListener,MouseListener { LetterLabel(){ 【代码1】 //将当前对象注册为自身的焦点视器【代码2】 //将当前对象注册为自身的标监视器setBackground(Color.cyan);setFont(new Font("",Font.BOLD,30));}public static LetterLabel[] getLetterLabel(int n){ LetterLabel a[]=new LetterLabel[n];for(int k=0;k<a.length;k++){ a[k]=new LetterLabel();}return a;}public void focusGained(FocusEvent e){ setBackground(Color.red);}public void focusLost(FocusEvent e){ setBackground(Color.cyan);}public void mousePressed(MouseEvent e){ requestFocus();}public void setText(char c){ setLabel(""+c);}public void mouseReleased(MouseEvent e){}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}public void mouseClicked(MouseEvent e){}}//SpellingWordFrame.javaimport java.awt.*;import java.awt.event.*;import javax.swing.Box;public class SpellingWordFrame extends Frame implements KeyListener,ActionListener { TextField inputWord;Button button;LetterLabel label[];Panel northP,centerP;Box wordBox;String hintMessage="用鼠标单击字母,按左右箭头交换字母,将其排列成所输入的单词";Label messaageLabel=new Label(hintMessage);String word="";SpellingWordFrame(){ inputWord=new TextField(12);button=new Button("确定");button.addActionListener(this);inputWord.addActionListener(this);northP=new Panel();northP.add(new Label("输入一个英文单词:"));northP.add(inputWord);northP.add(button);centerP=new Panel();wordBox=Box.createHorizontalBox();centerP.add(wordBox);add(northP,BorderLayout.NORTH);add(centerP,BorderLayout.CENTER);add(messaageLabel,BorderLayout.SOUTH);setBounds(100,100,350,180);setVisible(true);validate();addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) { System.exit(0);}});}public void actionPerformed(ActionEvent e){ word=inputWord.getText();int n=word.length();RondomString rondom=new RondomString();String randomWord=rondom.getRondomString(word);wordBox.removeAll();messaageLabel.setText(hintMessage);if(n>0){ label=LetterLabel.getLetterLabel(n);for(int k=0;k<label.length;k++){ 【代码3】 //将当前窗口注册为label[k]的键盘监视器label[k].setText(""+randomWord.charAt(k));wordBox.add(label[k]);}validate();inputWord.setText(null);label[0].requestFocus();}}public void keyPressed(KeyEvent e){ LetterLabel sourceLabel=(LetterLabel)e.getSource();int index=-1;if(【代码4】) //判断按下的是否是←键){ for(int k=0;k<label.length;k++){ if(label[k]==sourceLabel){ index=k;break;}}if(index!=0){ String temp=label[index].getText();label[index].setText(label[index-1].getText());label[index-1].setText(temp);label[index-1].requestFocus();}}else if(【代码5】) //判断按下的是否是→键{ for(int k=0;k<label.length;k++){ if(label[k]==sourceLabel){ index=k;break;}}if(index!=label.length-1){ String temp=label[index].getText();label[index].setText(label[index+1].getText());label[index+1].setText(temp);label[index+1].requestFocus();}}validate();}public void keyTyped(KeyEvent e){}public void keyReleased(KeyEvent e){ String success="";for(int k=0;k<label.length;k++){ String str=label[k].getText();success=success+str;}if(success.equals(word)){ messaageLabel.setText("恭喜你,你成功了");for(int k=0;k<label.length;k++){ label[k].removeKeyListener(this);label[k].removeFocusListener(label[k]);label[k].setBackground(Color.green);}inputWord.requestFocus();}}}//WordMainClass.javapublic class WordMainClass{ public static void main(String args[]){ new SpellingWordFrame();}}3、JLayeredPane分层窗格模板代码import javax.swing.*;import java.awt.*;class LayerExample{ public static void main(String args[]){ JFrame win=new JFrame("窗体");win.setBounds(100,100,300,300);win.setVisible(true);JButton b1=new JButton("我在DEFAULT_LAYER"),b2=new JButton("我在PALETTE_LAYER"),b3 =new JButton("我在MODAL_LAYER"),b4 =new JButton("我在POPUP_LAYER"),b5=new JButton("我在DRAG_LAYER");Container contenetPane=win.getContentPane();JLayeredPane pane= new JLayeredPane();pane.setLayout(null);【代码1】 //pane将组件b5放置在DRAG_LAYER层【代码2】 //pane将组件b4放置在POPUP_LAYER层【代码3】 //pane将组件b3放置在MODAL_LAYER层【代码4】 //pane将组件b2放置在PALETTE_LAYER层【代码5】 //pane将组件b3放置在DEFAULT_LAYER层 b5.setBounds(50,50,200,100);b4.setBounds(40,40,200,100);b3.setBounds(30,30,200,100);b2.setBounds(20,20,200,100);b1.setBounds(10,10,200,100);b1.setBackground(Color.red);b2.setBackground(Color.pink);b3.setBackground(Color.green);b4.setBackground(Color.orange);b5.setBackground(Color.yellow);contenetPane.add(pane,BorderLayout.CENTER);contenetPane.validate();win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}4、使用表格显示日历//CalendarBean.javaimport java.util.Calendar;public class CalendarBean{ int year=2005,month=0,nextDay;public void setYear(int year){ this.year=year;}public int getYear(){ return year;}public void setMonth(int month){ this.month=month;}public int getMonth(){ return month;}public String[][] getCalendar(){ String a[][]=new String[6][7];Calendar 日历=Calendar.getInstance();日历.set(year,month-1,1);int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;int day=0;if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) { day=31;}if(month==4||month==6||month==9||month==11){ day=30;}if(month==2){ if(((year%4==0)&&(year%100!=0))||(year%400==0)){ day=29;}else{ day=28;}}nextDay=1;for(int k=0;k<6;k++){ if(k==0)for(int j=星期几;j<7;j++){ a[k][j]=" "+nextDay ;nextDay++;}elsefor(int j=0;j<7&&nextDay<=day;j++){ a[k][j]=""+nextDay ;nextDay++;}}return a;}}//CalenderFrame.javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class CalenderFrame extends JFrame implements ActionListener{ JTable table;Object name[]={"星期日","星期一","星期二","星期三", "星期四","星期五","星期六"};JButton nextMonth,previousMonth;int year=2006,month=5;CalendarBean calendar;String rili[][];JLabel showMessage=new JLabel("",JLabel.CENTER);JScrollPane scroll;public CalenderFrame(){ calendar=new CalendarBean();calendar.setYear(year);calendar.setMonth(month);rili=calendar.getCalendar();【代码1】 //使用数组rili和name创建tabletable.setRowSelectionAllowed(false);nextMonth=new JButton("下月");previousMonth=new JButton("上月");nextMonth.addActionListener(this);previousMonth.addActionListener(this);JPanel pNorth=new JPanel(),pSouth=new JPanel();pNorth.add(previousMonth);pNorth.add(nextMonth);pSouth.add(showMessage);showMessage.setText("日历:"+calendar.getYear()+"年"+calendar.getMonth()+"月" );scroll=new JScrollPane(table);add(scroll,BorderLayout.CENTER);add(pNorth,BorderLayout.NORTH);add(pSouth,BorderLayout.SOUTH);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100,100,400,240);setVisible(true);validate();}public void actionPerformed(ActionEvent e){ if(e.getSource()==nextMonth){ month=month+1;if(month>12)month=1;calendar.setMonth(month);rili=calendar.getCalendar();remove(scroll);【代码2】 //使用数组rili和name创建tabletable.setRowSelectionAllowed(false);scroll=new JScrollPane(table);add(scroll,BorderLayout.CENTER);}else if(e.getSource()==previousMonth){ month=month-1;if(month<1)month=12;calendar.setMonth(month);rili=calendar.getCalendar();remove(scroll);【代码3】 //使用数组rili和name创建tabletable.setRowSelectionAllowed(false);scroll=new JScrollPane(table);add(scroll,BorderLayout.CENTER);}showMessage.setText("日历:"+calendar.getYear()+"年"+calendar.getMonth()+"月" );}}//CalendarMainClass.javapublic class CalendarMainClass{ public static void main(String args[]){ new CalenderFrame();}}5、多文档界面(MDI)模板代码//MDIExample.javaimport javax.swing.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*;class MyInternalFrame extends JInternalFrame{ JTextArea text;MyInternalFrame(String title){ super(title,true,true,true,true);text=new JTextArea();Container con=getContentPane();con.add(new JScrollPane(text),BorderLayout.CENTER);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);addInternalFrameListener(new InternalFrameAdapter (){ public void internalFrameActivated(InternalFrameEvent e) { setLayer(JDesktopPane.DRAG_LAYER);}public void internalFrameDeactivated(InternalFrameEvent e) { setLayer(JDesktopPane.DEFAULT_LAYER);}});}public JTextArea getJTextArea(){ return text;}}class Mywindow extends JFrame implements ActionListener{ JDesktopPane desk;JMenuBar menubar;JMenu menu;JMenuItem itemNew,itemCopy,itemCut,itemPaste;Container con;Mywindow(){ setSize(360,360);setVisible(true);con=getContentPane();desk=【代码1】 //创建JdesktopPane对象。

相关文档
最新文档