文本行输入学生姓名,下来框选择课程名称,文本行输入课程成绩;点击“录入”按钮,相关信息显示在文本区;点击“统计”按钮,将所有录入的成绩的平均成绩显示在另一个文本行中。

package naizi;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*; public class UserJFrame extends JFrame implements ActionListener
{
private JTextField text_name,text_avescore,text_score;
private JComboBox combobox_course;
private JButton button_add,button_statistics;
private JTextArea text_user;
private int sum=0,count=0; public UserJFrame(){
this.setSize(360,200);
this.setLocation(300,240);
this.getContentPane().setLayout(new GridLayout(1,2,5,5));//网格布局 text_user = new JTextArea();
this.getContentPane().add(text_user); JPanel panel = new JPanel(new GridLayout(6,1,1,1)); //网格布局
this.getContentPane().add(panel); text_name = new JTextField("姓名");
panel.add(text_name); Object course[]={"Java", "C++"};
combobox_course = new JComboBox(course);
panel.add(combobox_course); text_score = new JTextField("0");
panel.add(text_score); button_add = new JButton("添加");
button_add.addActionListener(this); //注册监听事件
panel.add(button_add); text_avescore = new JTextField("平均成绩");
panel.add(text_avescore); button_statistics = new JButton("统计");
button_statistics.addActionListener(this); //注册监听事件;
panel.add(button_statistics);
this.setVisible(true);//显示界面 } public void actionPerformed(ActionEvent e){ //单击事件处理方法
if (e.getSource()== button_add){ //判断事件源
String aline="";
aline = text_name.getText();
aline += ", "+combobox_course.getSelectedItem();
aline += ", "+text_score.getText();
text_user.append(aline+"\n"); //追加到文本区
// text_user.setText(aline); //追加到文本区
sum=sum+Integer.valueOf(text_score.getText());//计算总分
count++;
text_score.setText("0");
}
if (e.getSource() == button_statistics){
text_avescore.setText(Integer.toString(sum/count));
}//设置统计成绩 }
public static void main(String [] args){
new UserJFrame();//运行程序窗体
}
}

运行结果如图:

Java第二次作业第四题的更多相关文章

  1. Java第二次作业第三题

    四叶玫瑰线的图形设计:当用鼠标拖拽改变窗口大小时,四叶玫瑰线会重新绘制 package naizi; import java.awt.*; import java.awt.event.*; impor ...

  2. Java第二次作业第五题

    自定义异常类,非法年龄类,并在person3类中使用此类,根据情况抛出异常,并进行处理. package naizi; class IllegalAgeException extends Except ...

  3. Java第二次作业參考代码

    Java第二次作业參考代码 [程序11] 题目:有1.2.3.4四个数字,能组成多少个互不同样且无反复数字的三位数?都是多少? public class lianxi11 { public stati ...

  4. JAVA第二次作业展示与学习心得

    JAVA第二次作业展示与学习心得 在这一次作业中,我学习了复选框,密码框两种新的组件,并通过一个邮箱登录界面将两种组件运用了起来.具体的使用方法和其他得组件并没有什么大的不同. 另外我通过查阅资料使用 ...

  5. Java第二周作业

    Java第二周作业 本周作业: 参考http://www.cnblogs.com/rocedu/p/7911138.html 学习第二三章视频 参考http://www.cnblogs.com/roc ...

  6. Java第二次作业——数组和String类

    Java第二次作业--数组和String类 学习总结 1.学习使用Eclipse关联jdk源代码,查看String类的equals()方法,截图,并学习其实现方法.举例说明equals方法和==的区别 ...

  7. Java第二次作业第二题

    请编写图像界面程序,用户在第一文本行输入数字,有三个按钮,分别是计算2进制,8进制,16进制,点击其中一个按钮,第一个文本行中的数据转换为相应进制的数显示在第二个文本行中. package naizi ...

  8. Java第三次作业第四题

    4. [问题描述]读取一个文本文件in.txt,然后将这个文件的内容,反序写到另一个文件out.txt中. [输入形式]从文件in.txt中读信息. [输出形式]反序内容写入out.txt文件中. [ ...

  9. Java第二次作业第一题

    编写图形界面程序,在窗体中设置菜单栏,在菜单栏上添加"file"菜单,在文件菜单中添加"new"和"quit"两个菜单项,其中"q ...

随机推荐

  1. 2321. 【NOIP普及组T1】方程

    2321. [NOIP普及组T1]方程 时间限制: 1000 ms  空间限制: 262144 KB 题目描述

  2. java线程池,工作窃取算法

    前言 在上一篇<java线程池,阿里为什么不允许使用Executors?>中我们谈及了线程池,同时又发现一个现象,当最大线程数还没有满的时候耗时的任务全部堆积给了单个线程, 代码如下: T ...

  3. Kafka监控工具汇总

    对于大数据集群来说,监控功能是非常必要的,通过日志判断故障低效,我们需要完整的指标来帮我们管理Kafka集群.本文讨论Kafka的监控以及一些常用的第三方监控工具. 一.Kafka Monitorin ...

  4. 谈自由,ASP.NET Core才是未来?

    首先我要说一下自己对自由的理解: 自由是我可以选择不干什么,但我要保留我可以干什么的可能性. 比如说我现在只有一个码农的角色,但我仍然要保留我可以扮演其他角色的可能, 比如成为一个作者,当我写下文章的 ...

  5. Arduino 常用函数参考文档

    封装好的API,使得程序中的语句更容易被理解,我们不用理会单片机中繁杂的寄存器配置,就能直观的控制Arduino,增强程序可读性的同时,也提高了开发效率. 本篇主要介绍: 一,项目结构 1.setup ...

  6. Mbatis是什么?怎么运行?

    一   .    Mybatis是什么? Mybatis是一个持久层框架,其中编写的过程中sql语句是需要程序员自己去编写,Mybatis也有 一些映射(输入参数映射,输出参数映射),Mybatis是 ...

  7. Hibernate对象状态之间的神奇转换

    状态分类 在Hibernate框架中,为了管理持久化类,Hibernate将其分为了三个状态: 瞬时态(Transient Object) 持久态(Persistent Object) 脱管态(Det ...

  8. Comupter Tools 清单------包含但不限于此

  9. python 10 动态参数

    目录 1. 函数的动态参数 1.1 动态位置参数(*arges) 1.2 动态关键字参数 (**kwargs) 1.3 万能传参: 2. 函数的注释 3. 名称空间 4. 函数嵌套 5. 函数变量修改 ...

  10. [Python] Django框架入门5——静态文件、中间件、上传图片和分页

    说明: 本文主要描述Django其他的内容,涉及静态文件处理.中间件.上传文件.分页等. 开发环境:win10.Python3.5.Django1.10. 一.静态文件处理 在Django项目的静态文 ...