首页 > 技术文章 > 个人项目

liandiexueying 2015-05-02 20:25 原文

一、题目简介

选择复选框和单选框按钮的事件处理程序

程序功能:在Applte 上创建复选框、单选框、文本区域、单行文本框等组件,并实现根据用户输入的10 进制数,选择不同选项可转换为2、8、16 进制数。

二、源码的github链接

https://github.com/caowenjing/test

 

三、所设计的模块测试用例、测试结果截图

1. 打开Eclipse中的Junit视图窗口:

Window → Show View → Other

Java → JUnit → OK

Junit视图窗口如下所示:

1. 创建Java项目

2. 创建Junit测试类

先选择ItemListenerDemo.java → New → Other…

再在对话框中选择Java → Junit → Junit Test Case → Next

在 New Junit Test Case Window中选择合适的值:

  • Select New Junit 4 test

    再单击Next

选择要测试的方法,并点击Finish

3. 运行Junit测试类

右击ArithmeticTest.java → Run As → Junit Test

四、问题及解决方案、心得体会

 通过本次实验我.熟悉GUI基本容器类的基本用法,熟悉布局管理器的作用及其使用方法,熟悉常用基本控件(按钮、文本框、标签、列表框、菜单)的使用,了解内部类与匿名内部类的使用,了解适配器类,重点掌握Java的事件处理机制。了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,了解如何使用布局管理器对组件进行管理,掌握事件处理的方法,学会运用Juit4测试程序。并且学会了github基本源代码的控制方法,但是仍有很多需要改进的,仍出现很多的错误需要解决。

 

附录:

import java.applet.Applet;

import java.awt.*;

import java.awt.event.*;

public class ItemListenerDemo extends Applet implements ItemListener {

TextArea area=new TextArea(6,30);//创建文本区

String Item[]={"2 进制","8 进制","16 进制","10 进制"};

Checkbox cb[]=new Checkbox[5];

Checkbox radio[]=new Checkbox[5];

Label l=new Label("输入10 进制数");

TextField TF=new TextField(6);//创建单行文本框

public void init() {

add(l);add(TF);

add(area);

add(new Label(" 请选择进制:"));

for(int i=0; i<4; i++) {

cb[i]=new Checkbox(Item[i]);

add(cb[i]);

cb[i].addItemListener(this);

}

CheckboxGroup cbGroup=new CheckboxGroup();//创建单选框

add(new Label("请选择进制:"));

for(int i=0; i<4; i++) {

radio[i]=new Checkbox(Item[i],cbGroup,false);

add(radio[i]);

radio[i].addItemListener(this);

}

}

public void itemStateChanged(ItemEvent e) {

int x=Integer.parseInt(TF.getText());

if (e.getItem ()=="2 进制")

area.append ("你选择的是"+e.getItem ()+ Integer.toBinaryString(x)+"\n");

if (e.getItem ()=="8 进制")

area.append ("你选择的是"+e.getItem ()+ Integer.toOctalString(x)+"\n");

if (e.getItem ()=="16 进制")

area.append ("你选择的是"+e.getItem ()+Integer.toHexString(x)+"\n");

if (e.getItem ()=="10 进制")

area.append ("你选择的是"+e.getItem ()+x+"\n");

}

}

推荐阅读