实验四 Java 布局管理和 java的事件

合集下载

Java程序设计实验指导书(答案)

Java程序设计实验指导书(答案)

第Ⅰ部分:实验指导实验1:Java开发环境J2SE一、实验目的(1)学习从网络上下载并安装J2SE开发工具。

(2)学习编写简单的Java Application程序.(3)了解Java源代码、字节码文件,掌握Java程序的编辑、编译和运行过程。

二、实验任务从网络上下载或从CD-ROM直接安装J2SE开发工具,编写简单的Java Application程序,编译并运行这个程序。

三、实验内容1.安装J2SE开发工具Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java 2 SDK,可以从上进行下载。

安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到C:\j2sdk1.4.1_03目录下。

教师通过大屏幕演示J2SE的安装过程,以及在Windows98/2000/2003下环境变量的设置方法。

2.安装J2SE源代码编辑工具Edit Plus教师通过大屏幕演示Edit Plus的安装过程,以及在Windows98/2000/2003操作系统环境下编辑Java 原程序的常用命令的用法。

3.编写并编译、运行一个Java Application程序。

创建一个名为HelloWorldApp的java Application程序,在屏幕上简单的显示一句话"老师,你好!"。

public class HelloWorldApp{public static void main(String[] args){System.out.println("老师,你好!");}}4.编译并运行下面的Java Application程序,写出运行结果。

1:public class MyClass {2:private int day;3:private int month;4:private int year;5:public MyClass() {6:day = 1;7:month = 1;8:year = 1900;9:}10:public MyClass(int d,int m,int y) {11:day = d;12:month = m;13:year = y;14:}15:public void display(){16:System.out.println(day + "-" + month + "-" + year);17:}18:public static void main(String args[ ]) {19:MyClass m1 = new MyClass();20:MyClass m2 = new MyClass(25,12,2001);21:m1.display();22:m2.display();23:}24:}运行结果:1-1-190025-12-2001实验2:Java基本数据类型一、实验目的(1)掌握javadoc文档化工具的使用方法。

布局窗口实验报告

布局窗口实验报告

一、实验目的通过本次实验,掌握Java Swing框架中常用的布局管理器,如FlowLayout、BorderLayout、GridLayout、GridBagLayout等,并学会如何使用这些布局管理器对窗口进行合理布局,提高GUI应用程序的界面设计能力。

二、实验环境1. 开发工具:Eclipse2. 开发语言:Java3. 环境配置:Java Development Kit(JDK)版本为1.8三、实验内容1. 流式布局(FlowLayout)2. 边界布局(BorderLayout)3. 网格布局(GridLayout)4. 网格袋布局(GridBagLayout)四、实验步骤1. 流式布局(FlowLayout)(1)创建一个窗口,并设置窗口标题为“FlowLayout”。

(2)在窗口中添加四个按钮,分别为“Button1”、“Button2”、“Button3”和“Button4”。

(3)设置窗口的布局管理器为FlowLayout。

(4)运行程序,观察窗口布局效果。

2. 边界布局(BorderLayout)(1)创建一个窗口,并设置窗口标题为“BorderLayout”。

(2)在窗口中添加四个标签,分别为“North”、“South”、“East”和“West”。

(3)设置窗口的布局管理器为BorderLayout。

(4)运行程序,观察窗口布局效果。

3. 网格布局(GridLayout)(1)创建一个窗口,并设置窗口标题为“GridLayout”。

(2)在窗口中添加四个按钮,分别为“Button1”、“Button2”、“Button3”和“Button4”。

(3)设置窗口的布局管理器为GridLayout,并设置每行和每列的组件数量为2。

(4)运行程序,观察窗口布局效果。

4. 网格袋布局(GridBagLayout)(1)创建一个窗口,并设置窗口标题为“GridBagLayout”。

java开发环境设置与java程序结构实验总结

java开发环境设置与java程序结构实验总结

java开发环境设置与java程序结构实验总结一、引言在现代软件开发领域,Java语言因其跨平台性、高扩展性和丰富的资源生态系统而成为最受欢迎的编程语言之一。

为了能够顺利进行Java开发,正确设置Java开发环境并了解Java程序的结构是至关重要的。

本文将围绕着这两个主题展开探讨,并总结一些关键的实验经验。

二、Java开发环境设置1. 安装Java开发工具包(JDK)Java开发环境的第一步是安装Java开发工具包(JDK)。

JDK是一个包含了Java编译器、Java运行时环境(JRE)和其他工具的软件包。

我们可以从Oracle官方网站上下载和安装JDK。

安装完成后,我们需要配置环境变量,以便在命令行中能够访问到Java和相关工具。

2. 配置开发环境为了能够顺利进行Java开发,我们需要配置开发环境。

我们需要安装一个集成开发环境(IDE),如Eclipse或IntelliJ IDEA。

这些IDE提供了许多有用的功能,例如代码自动补全、调试器和版本控制集成。

我们还需要配置项目的构建工具,如Maven或Gradle,以便能够管理依赖关系和构建过程。

3. 测试开发环境在配置完开发环境后,我们需要验证我们的设置是否正确。

可以通过运行一个简单的Java程序来测试开发环境。

我们可以创建一个简单的HelloWorld程序,并在IDE中运行它,或使用命令行编译和运行该程序。

如果一切顺利,我们应该能够看到程序成功输出“Hello, World!”。

三、Java程序结构实验总结在Java开发中,了解Java程序的结构和组成是非常重要的。

以下是一些关于Java程序结构的关键知识点和实验总结:1. 类和对象Java程序由类组成,类是对象的模板或蓝图。

在实验中,我们可以创建一个简单的类,并创建该类的对象。

通过练习,我们可以更好地理解类和对象之间的关系,以及如何使用它们来构建复杂的程序。

2. 数据类型和变量Java有多种基本数据类型,如整数、浮点数、布尔值和字符。

南昌大学java实验报告4

南昌大学java实验报告4

南昌大学实验报告学生姓名:学号:专业班级:网络工程091实验类型:□验证□综合□设计□创新实验日期:2012.5.18 实验成绩:实验四简单的万年历一、实验目的学习使用布局类。

二、实验任务编写一个应用程序,有一个窗口,该窗口为BorderLayout布局。

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

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

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

三、实验内容编译并运行程序,查看结果。

程序如下:CalendarFRame.javapackage calendar;import java.awt.BorderLayout;import java.awt.Button;import java.awt.GridLayout;import bel;import java.awt.Panel;import java.awt.ScrollPane;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;public class CalendarFrame extends JFrame implements ActionListener { Label labelDay[]=new Label[42];Button titleName[]=new Button[7];String name[]={"日","一","二","三", "四","五","六"};Button nextMonth,previousMonth;int year=2012,month=5;CalendarBean calendar;Label showMessage=new Label("",Label.CENTER);public CalendarFrame(){Panel pCenter=new Panel();pCenter.setLayout(new GridLayout(7,7));//将pCenter的布局设置为7行7列的GridLayout 布局。

合工大java实验报告-04

合工大java实验报告-04
2.编写网络程序时,需要处理哪些Exception?
答:错误的类型转换、数组越界访问和试图访问空指针。我在程序中遇到了最后一种。
五、实验结论、分析、思考题与心得体会
本次试验,花费了我一天的时间,虽然不能说全是自己做的,但是自己还是误就是在一个字符串的符号上。我将str1写成了str,这两个不是代表同一个字符串,结果在客户端始终输不出服务器端的字符串,这让我弄了好久好久。
3.服务器端在本地建立一个文本文件存储与客户端互传字符串的记录。
4.若服务器端可以同时连接多个不同的客户端该怎么设计?
答:设计为多线程,运用thread类,run函数。
三、使用硬件、软件环境
PC计算机一台,配置为CPU为1.5G,内存为512M,硬盘为40G,安装WindowsXP操作系统。
另外,使用JCreator,JDK1.6.0等软件
2.掌握Socket类、ServerSocket类、InputStreamReader类、File类和BufferedReader等系统类的使用方法。
3.掌握线程处理的方法。
二.实验内容
1.在服务器端通过指定一个用来等待的连接的端口号创建一个ServerSocket实例。
2.在客户端通过规定一个主机和端口号创建一个Socket实例,连到服务器上。
(提示:搜寻“计算机网络协议”方面的材料)
答:都有,只是TCP/IP比较主流,TCP是Internet的基础和核心,一种面向连接的保证可靠传输的协议,得到的是一个顺序无差错的数据流优点是在通信前要建立连接,所以安全、可靠。缺点是要等待对方回应,速度较慢。而UDP/IP是从一台计算机向另一台计算机发送称为数据报的独立数据包的协议,该协议并不保证数据报是否能正确地到达目的地。它是一个非面向连接的协议。UDP不需要建立连接,所以速度较快。不能保证传送的数据包按顺序到达,因此安全性较差。QQ等IM软件,一般均采用UDP协议。

java 实验4 GUI标准组件及事件处理

java 实验4  GUI标准组件及事件处理

Java程序设计实验报告题目:GUI标准组件及事件处理学院:计算机科学学院专业:08教育技术学01班姓名:赵小龙学号:40809020105GUI标准组件及事件处理一、实验目的掌握常用GUI控制组件及其事件处理。

二、实验内容1.编程包含一个标签和一个按钮,单击按钮时,标签的内容在“你好”和“再见”之间切换运行结果:2.编程包含一个单选按钮组和一个普通按钮,单选按钮组中包含三个单选,文本说明分别为“普通”、“黑体”和“斜体”。

选择文本标签为“普通”的单选按钮时,普通按钮中的文字为普通字体,选择文本标签为“黑体”的单选按钮时,普通按钮中的文字的字体为黑体,选择文本标签为“斜体”的单选按钮时,普通按钮中的文字的字体为斜体。

3.编程创建一个Frame,实现窗口的监听器接口。

三、思考题1.Java的事件处理机制是怎样的?答:事件处理机制⏹事件处理器(事件处理方法)事件处理器是一个接收事件对象并进行相应处理的方法。

事件处理器包含在一个类中,这个类的对象负责检查事件是否发生,若发生就激活事件处理器进行处理。

⏹事件监听器接口与事件监听器类事件监听器类a.包含事件处理器,并负责检查事件是否发生,若发生就激活事件处理器进行处理的类叫做事件监听器类。

其实例就是事件监听器对象。

事件监听器类必须实现事件监听器接口或继承事件监听器适配器类。

b.事件监听器接口定义了处理事件必须实现的方法。

事件监听器适配器类是对事件监听器接口的简单实现。

目的是为了减少编程的工作量。

c.事件监听器接口和事件监听器适配器类也都包含在java.awt.event和javax.swing.event包中。

注册事件监听器⏹为了能够让事件监听器检查某个组件(事件源)是否发生了某些事件,并且在发生时激活事件处理器进行相应的处理,必须在事件源上注册事件监听器。

这是通过使用事件源组件的以下方法来完成的:addXxxListener(事件监听器对象)Xxx对应相应的事件类。

Java(A)实验指导(3)

Java(A)实验指导(3)

实验3:GUI编程一、实验目的1.掌握Java图形组件和布局管理器的使用2.理解和掌握Java事件处理机制的使用。

3.掌握图形界面的各种常用控件的使用。

4.掌握常用对话框的使用。

二、实验要求本次实验要求以Eclipse为开发平台。

三、实验内容与步骤1.编写一个Java Application程序,该程序的运行结果如下所示。

2.编写一个Java Application程序,用GridLayout布局方式放置4个按钮,按钮背景为红、绿、蓝、黄色。

该程序的运行结果如下所示。

3.编写一个Java Application程序,该程序的运行结果如下所示。

4. 编写程序,要求显示一个 300×100 像素的窗口,窗口中包含两个按钮和一个标签。

当点击第一个按钮时,窗口标签中显示”button1 is pressed”;当点击第二个按钮时,退出应用程序。

如下图所示。

5.设计一个简单计算器,如下图所示。

在“操作数:”标签右侧的两个文本框输入操作数,当单击操作符+,-,*,/按钮时,对两个操作数进行运算并将结果填入到“结果:”标签右侧的文本框中。

该程序模板已给出,请在要求位置补充若干代码,以完成程序要求的功能。

6.下面的程序是在顶层容器JFrame中创建一个表格,并在表格中显示两行内容。

请将程序补充完整并上机运行。

import javax.swing.*;import java.awt.*;import java.awt.event.*;public class jtable{public jtable(){JFrame f=new JFrame();Object[][] playerInfo={{"张华",new Integer(66),new Integer(32),new Integer(98),newBoolean(false)},{"阿宝",new Integer(82),new Integer(69),new Integer(151),newBoolean(true)},};String[] Names={"姓名","语文","数学","总分","及格"};//利用构造方法JTable(Object data[][], Object columnName[])创建表格对象JTable table=new JTable( (1) );JScrollPane scrollPane=new JScrollPane( (2) );//表格使用滚动面板f.getContentPane().add( (3) ); //加到容器中f.setTitle("Simple Table");f.setBounds(100, 100, 400, 200);f.setVisible(true);f.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});}public static void main(String[] args){jtable b=new (4) ;}}7.编写一个算术测试小软件,用来训练小学生的算术能力。

实验四Java布局管理和java的事件

实验四Java布局管理和java的事件

Java 实验日志指导教师实验时间:2010 年月日学院计算机专业计算机科学与技术班级3110802 学号08600201 姓名张梦实验室S实验题目:Java 布局管理和 java的事件实验目的:1. 掌握 Java语言中几种布局管理器。

2. 能熟练综合运用这几种布局管理器设计复杂的图形界面。

3. 理解事件的概念。

4. 能熟练使用 Java 提供的事件处理方法,进行符合要求的事件处理实验要求:结合多种布局管理器设计一个复杂的图形界面。

掌握 Java提供的各种事件接口,并能灵活使用。

实验主要步骤:1.用BorderLayout和GridLayout布局管理器设计一个如下图所示的图形界面:2.在记事本编辑如下源程序:import java.awt.*;public class Ex9_1 {private Frame demoframe;private Button b1;private Button b2;private Button b3;private Button b4;private Panel cpanel;private Button b[];public void Init() {demoframe =new Frame("布局管理器");b1 =new Button("确定");demoframe.add(b1,"East");b2 =new Button("取消");demoframe.add(b2,"West");b3 =new Button("Hello,");demoframe.add(b3,"North");b4 =new Button("Java!......");demoframe.add(b4,"South");cpanel =new Panel();cpanel.setLayout(new GridLayout(3,3,7,7));demoframe.add(cpanel,"Center");b =new Button[9];for(int i=0;i<9;i++){b[i] =new Button();b[i].setSize(50,50);b[i].setLabel(Integer.toString(i));cpanel.add(b[i]);}demoframe.pack();demoframe.setVisible(true);}public static void main(String[] args) {Ex9_1 demo =new Ex9_1();demo.Init();}}3.保存程序Ex9_1.java,编译运行程序。

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

Java 实验日志指导教师实验时间:2010 年月日学院计算机专业计算机科学与技术班级3110802 学号08600201 姓名张梦实验室S实验题目:Java 布局管理和 java的事件实验目的:1. 掌握 Java语言中几种布局管理器。

2. 能熟练综合运用这几种布局管理器设计复杂的图形界面。

3. 理解事件的概念。

4. 能熟练使用 Java 提供的事件处理方法,进行符合要求的事件处理实验要求:结合多种布局管理器设计一个复杂的图形界面。

掌握 Java提供的各种事件接口,并能灵活使用。

实验主要步骤:1.用BorderLayout和GridLayout布局管理器设计一个如下图所示的图形界面:2.在记事本编辑如下源程序:import java.awt.*;public class Ex9_1 {private Frame demoframe;private Button b1;private Button b2;private Button b3;private Button b4;private Panel cpanel;private Button b[];public void Init() {demoframe =new Frame("布局管理器");b1 =new Button("确定");demoframe.add(b1,"East");b2 =new Button("取消");demoframe.add(b2,"West");b3 =new Button("Hello,");demoframe.add(b3,"North");b4 =new Button("Java!......");demoframe.add(b4,"South");cpanel =new Panel();cpanel.setLayout(new GridLayout(3,3,7,7));demoframe.add(cpanel,"Center");b =new Button[9];for(int i=0;i<9;i++){b[i] =new Button();b[i].setSize(50,50);b[i].setLabel(Integer.toString(i));cpanel.add(b[i]);}demoframe.pack();demoframe.setVisible(true);}public static void main(String[] args) {Ex9_1 demo =new Ex9_1();demo.Init();}}3.保存程序Ex9_1.java,编译运行程序。

理解BorderLayout和GridLayout布局管理器的用法。

运行结果:实验结果:运行结果:4.结合上述例子,试编写如下图所示的图形界面:编写代码如下:import java.awt.*;import java.awt.event.*;import java.applet.Applet;public class Ex9{private Frame demoframe;private Panel cpanel;private TextField tf;public void Init(){demoframe=new Frame("计算器");cpanel=new Panel();cpanel.setLayout(new GridLayout(4,4,7,7));demoframe.add(cpanel,"Center");tf=new TextField("",15);Button b0 = new Button("1");Button b1 = new Button("2");Button b2 = new Button("3");Button b3= new Button("+");Button b4 = new Button("4");Button b5 = new Button("5");Button b6 = new Button("6");Button b7 = new Button("-");Button b8 = new Button("7");Button b9 = new Button("8");Button b10 = new Button("9");Button b11 = new Button("*");Button b12 = new Button("0");Button b13 = new Button(".");Button b14= new Button("=");Button b15= new Button("/");demoframe.add("North",tf);cpanel.add(b0);cpanel.add(b1);cpanel.add(b2);cpanel.add(b3);cpanel.add(b4);cpanel.add(b5);cpanel.add(b6);cpanel.add(b7);cpanel.add(b8);cpanel.add(b9);cpanel.add(b10);cpanel.add(b11);cpanel.add(b12);cpanel.add(b13);cpanel.add(b14);cpanel.add(b15);demoframe.pack();demoframe.setVisible(true);}public static void main(String[] args){Ex9 demo=new Ex9();demo.Init();}}运行结果如下:3.2 Java 事件Java 中的每种事件类都有一个对应的接口,接口中声明了一个或多个抽象的事件处理方法,凡是需要接收并处理事件对象的类,都需要实现相应的接口。

1. 当用户点击按钮时,AWT 事件处理系统将向按钮发送一个 ActionEvent 事件对象。

如果应该程序需要对此作为反应,那么就需要为按钮注册事件监听程序并实现 ActionListenner接口。

在记事本编辑如下源程序:import java.awt.*;import java.awt.event.*;public class Ex10_1 implements ActionListener{private Frame f;private Button b;private Label lb;public static void main(String[] args) {Ex10_1 demo =new Ex10_1();demo.Init();}public void Init() {f =new Frame("Action Event");b =new Button("确定");lb =new Label("你好!",Label.CENTER);f.add(lb,"North");b.addActionListener(this);f.setSize(150,100);f.add(b,"South");f.setVisible(true);}public void actionPerformed(ActionEvent parm1) {lb.setText("你点击了确认按钮!");}}运行结果:按下“确定”后:MouseMotionListener接口中提供声明了mouseDragged()和mouseMoved()两个抽象方法,分别用于处理鼠标的拖动和移动。

MouseListener 接口声明了 mouseEntered()、mouseExited()、mousePressed()、mouseReleased() 和 mouseClicked()五个抽象方法。

在记事本编辑如下源程序,编译并运行,体会这几种方法的不同之处:port java.awt.*;port java.awt.event.*;blic class Ex10_2 implements MouseMotionListener,MouseListener{private Frame f;private Label t1,t2;public static void main(String[] args) {Ex10_2 demo =new Ex10_2();demo.Init();}public void Init() {f =new Frame("Action Event");t1 =new Label("Java,",Label.CENTER);t2 =new Label("你好!",Label.CENTER);f.add(t1,"North");f.add(t2,"South");f.addMouseListener(this);f.addMouseMotionListener(this);f.setSize(300,200);f.setVisible(true);}public void mouseClicked(MouseEvent parm1) {t1.setText("你点击了鼠标!");}public void mousePressed(MouseEvent parm1) {t1.setText("你按下了鼠标!");}public void mouseReleased(MouseEvent parm1) {t1.setText("你释放了鼠标!");}public void mouseEntered(MouseEvent parm1) {t1.setText("鼠标进入!");}public void mouseExited(MouseEvent parm1) {t1.setText("鼠标退出!");}public void mouseDragged(MouseEvent parm1) {t2.setText("你在拖动鼠标:X="+parm1.getX()+ " Y="+parm1.getY()); }public void mouseMoved(MouseEvent parm1) {t2.setText("你在移动鼠标:X="+parm1.getX()+ " Y="+parm1.getY()); }}运行结果:鼠标退出:鼠标进入:点击鼠标:3. 给程序添加按’ESC’键退出的功能。

相关文档
最新文档