您的当前位置:首页正文

java实验报告

来源:九壹网


《java语言程序设计》

实 验 报 告

标题:简易文本编辑器设计

班级:09网络01班 姓名: 指导教师:

时间:2010年11月25日-12月16日

一. 实验目的

1、 为了进一步巩固《java程序设计》课程中所学到的知识,熟

练掌握java各种数据类型和基本语句,充分领会OOP程序设计方法的特点;

2、 练习应用java高级语言开发工具进行程序设计和系统开发的

能力,煅练自己综合分析问题和解决问题的能力,提高自己的软件职业素质;

3、 培养独立或协作完成程序设计的能力,通过系统总体设计、代

码编写、上机调试,训练java实验操作的动手能力。

二.实验内容

1、 实验题目及任务要求:

创建个人信息调查表。综合运用所学的复选框,单选按钮组,选项框和列表框等组件制作一个个人信息调查表。数据输入结束后,如果单击“确定”按钮,系统将在控制台中显示所选信息。如果单击“取消”按钮,系统将为各组件恢复其默认值。

2、 设计原理及方法说明

(1),打开java eclipse平台文件www.新建包和文件和类。

(2)输入代码修改错误 (3)上机调试输出结果

(4)checkbox(setcheckboxGroup,Stringlabel.boolean stategetlabel()其创建一个标签为;Labe1,状态为State()的复选框,并使其复选框Group中,单选Checkbox类 setcheckboxGroup组件的控制下创建出一种特殊的选择工具,单选按钮往往以一组多个方式存在,这组按钮在某一个时刻只有一个处于选种状态

① 通过对复选框、单选钮以及列表框等的声明和定义,getText()和setText()方法的使用,调用组件requestFocusInWindow()方法等等的综合使用,进一步加强对JAVA语言的编程能力的提高。 ② 为判断文本域内容是否有效,为其注册焦点事件侦听器,然后在失去焦点方法中编写相应程序。

3、 详细设计

系统总体框图

系统菜单结构

系统主要模块、算法名称表

参数或变量说明

用到了GUI(图形界面设计),使用了java.awt的软件包。Java.awt.event的软件包(事件和监听器类),javax,swing的软件包(swing组件和试用工具)java,awt,event中在接口Actionlistener,javax.swing中的类[jframe(窗体),jpanel(面扮),jradiobutyon(单选按钮),jlabel(标签)jcheckbox(复选框),jbutton(按钮)

JTextField(文件输入框),ButtonGroup(按钮组)},窗体按组件常用方法

(setBouds,setVisble,setResizable,setDefaultCloseOperation),设置布局管理器,private JPanel jp=new JPanel();//创建面板

Private JRadioButton man=new

JRadiobutton(“男”,ture);//创建单选按钮,并设置默认选项 Private JRadioButton woman=new JRadioButton(“女”);//创建单选按钮

ButtonGrop sexBG=new ButtonGroup();//创建按钮组 JLabel sexSTR=new JLabel(“你的性别;”);//创建标签 JLabel likeSTR=new Jlabel(“你的爱好;”);//创建标签 JLabel ageSTR=new Jlabel(“你的年龄;”);//创建标签 二. 实验过程 1、 资料收集

通过书上各个章节的知识点总合起来,看书上的组建的知识点。 2、 代码设计

//Questionnaire.java

package Chapter9; import java.awt.*;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JOptionPane;

public class Questionnaire extends Frame implements

ActionListener,KeyListener,FocusListener{

TextField name=new TextField(10);

Checkbox man=new Checkbox(\"男\"),woman=new Checkbox(\"女\"); CheckboxGroup sex=new CheckboxGroup();

TextField age=new TextField(\"20\年龄, Choice nativeplace=new Choice(); Checkbox like1=new Checkbox(\"读书\"); Checkbox like2=new Checkbox(\"上网\"); Checkbox like3=new Checkbox(\"体育活动\"); List website=new List(4); Button btn1=new Button(\"确认\"); Button btn2=new Button(\"取消\"); Button btn3=new Button(\"退出\");

Label l=new Label(\"个人信息调查表\");

Label l1=new Label(\"姓名\"),l2=new Label(\"性别\"); Label l3=new Label(\"年龄\"),l4=new Label(\"地址\");

Label l5=new Label(\"爱好\"),l6=new Label(\"喜欢的网站\"); public Questionnaire(String title){ super(title);

this.setSize(400,400); this.setLayout(null);

l.setBounds(150,50,100,20); l1.setBounds(50,100,40,20); name.setBounds(90,100,100,20); l2.setBounds(230,100,40,20); man.setCheckboxGroup(sex); woman.setCheckboxGroup(sex); sex.setSelectedCheckbox(man); man.setBounds(270,100,60,20); woman.setBounds(330,100,60,20);

l3.setBounds(50,150,40,20); age.setBounds(90,150,50,20); l4.setBounds(230,150,40,20); nativeplace.add(\"北京\"); nativeplace.add(\"上海\"); nativeplace.add(\"天津\"); nativeplace.add(\"重庆\"); nativeplace.add(\"广东\"); nativeplace.add(\"河南\");

nativeplace.setBounds(270,150,60,20); l5.setBounds(50,200,40,20); like1.setBounds(90,200,60,20);

like2.setBounds(150,200,60,20); like3.setBounds(210,200,100,20); website.add(\"薪 浪\"); website.add(\"搜 狐\"); website.add(\"网 易\"); website.add(\"淘 宝\"); website.add(\"赶集网\"); website.add(\"新华网\");

l6.setBounds(50,250,80,20); website.setBounds(130,250,100,60); btn1.setBounds(110,330,50,20); btn2.setBounds(180,330,50,20); btn3.setBounds(250,330,50,20); this.add(l); this.add(l1); this.add(name); this.add(l2); this.add(man); this.add(woman); this.add(l3); this.add(age);

this.add(l4);

this.add(nativeplace); this.add(l5); this.add(like1); this.add(like2); this.add(like3); this.add(l6);

this.add(website); this.add(btn1); this.add(btn2); this.add(btn3);

setLocationRelativeTo(null); btn1.addActionListener(this); btn2.addActionListener(this); btn3.addActionListener(this); age.addKeyListener(this); age.addFocusListener(this);

}

public void actionPerformed(ActionEvent e){

Object ob=e.getSource(); if(ob==btn3){ System.exit(0);

}else if(ob==btn1){

System.out.println(\"姓名; \"+name.getText()); System.out.println(\"性别; \"+sex.getSelectedCheckbox().getLabel());

System.out.println(\"年龄; \"+age.getText());

System.out.println(\"地址; \"+nativeplace.getSelectedItem()); String s1=like1.getState()?like1.getLabel()+\" \":\"\"; String s2=like2.getState()?like2.getLabel()+\" \":\"\"; String s3=like3.getState()?like3.getLabel()+\" \":\"\"; System.out.println(\"爱好; \"+s1+s2+s3);

System.out.println(\"喜欢的网站; \"+website.getSelectedItem());

}else if(ob==btn2){ name.setText(\"\");

sex.setSelectedCheckbox(man); age.setText(\"20\"); like1.setState(false); like2.setState(false); like3.setState(false);

website.deselect(website.getSelectedIndex());

}

}

public void KeyPressed(KeyEvent e){ }

public void KeyReleased(KeyEvent e){ }

public void KeyTyped(KeyEvent e){ if(((e.getKeyChar()<=0x39)&&(e.getKeyChar()>=0x30)) ||(e.getKeyChar()==127)||(e.getKeyChar()==8)){

}

e.setKeyChar((char)0);

}

public void focusGained(FocusEvent e){ }

public void focuslost(FocusEvent e){

int i=Integer.parseInt(age.getText());

if((i==0)||(i>=200)){ JOptionPane.showMessageDialog(null,\"年龄有错误, 其他值应该为

1-199! \错误提示\

age.setText(\"20\");

}

age.requestFocusInWindow();

}

public static void main(String[]args){

Questionnaire app=new Questionnaire(\"个人信息\"); app.setVisible(true); } }

主模块代码(附件1):<文件名> 子模块代码(附件2):<文件名>

3、 操作举例(包括输入数据、操作步骤和实验结果) 首先创建一个项目,名称随便取,创建一个包,名称Chapter.再创建一个名称为Questionnaire的类。输入代码,运行查看结果。

三. 实验小结

自己在实验中的体会或感受: 对所完成程序的评价或改进建议:

因篇幅问题不能全部显示,请点此查看更多更全内容

Top