Java第二次作业第四题
文本行输入学生姓名,下来框选择课程名称,文本行输入课程成绩;点击“录入”按钮,相关信息显示在文本区;点击“统计”按钮,将所有录入的成绩的平均成绩显示在另一个文本行中。
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第二次作业第四题的更多相关文章
- Java第二次作业第三题
四叶玫瑰线的图形设计:当用鼠标拖拽改变窗口大小时,四叶玫瑰线会重新绘制 package naizi; import java.awt.*; import java.awt.event.*; impor ...
- Java第二次作业第五题
自定义异常类,非法年龄类,并在person3类中使用此类,根据情况抛出异常,并进行处理. package naizi; class IllegalAgeException extends Except ...
- Java第二次作业參考代码
Java第二次作业參考代码 [程序11] 题目:有1.2.3.4四个数字,能组成多少个互不同样且无反复数字的三位数?都是多少? public class lianxi11 { public stati ...
- JAVA第二次作业展示与学习心得
JAVA第二次作业展示与学习心得 在这一次作业中,我学习了复选框,密码框两种新的组件,并通过一个邮箱登录界面将两种组件运用了起来.具体的使用方法和其他得组件并没有什么大的不同. 另外我通过查阅资料使用 ...
- Java第二周作业
Java第二周作业 本周作业: 参考http://www.cnblogs.com/rocedu/p/7911138.html 学习第二三章视频 参考http://www.cnblogs.com/roc ...
- Java第二次作业——数组和String类
Java第二次作业--数组和String类 学习总结 1.学习使用Eclipse关联jdk源代码,查看String类的equals()方法,截图,并学习其实现方法.举例说明equals方法和==的区别 ...
- Java第二次作业第二题
请编写图像界面程序,用户在第一文本行输入数字,有三个按钮,分别是计算2进制,8进制,16进制,点击其中一个按钮,第一个文本行中的数据转换为相应进制的数显示在第二个文本行中. package naizi ...
- Java第三次作业第四题
4. [问题描述]读取一个文本文件in.txt,然后将这个文件的内容,反序写到另一个文件out.txt中. [输入形式]从文件in.txt中读信息. [输出形式]反序内容写入out.txt文件中. [ ...
- Java第二次作业第一题
编写图形界面程序,在窗体中设置菜单栏,在菜单栏上添加"file"菜单,在文件菜单中添加"new"和"quit"两个菜单项,其中"q ...
随机推荐
- 2321. 【NOIP普及组T1】方程
2321. [NOIP普及组T1]方程 时间限制: 1000 ms 空间限制: 262144 KB 题目描述
- java线程池,工作窃取算法
前言 在上一篇<java线程池,阿里为什么不允许使用Executors?>中我们谈及了线程池,同时又发现一个现象,当最大线程数还没有满的时候耗时的任务全部堆积给了单个线程, 代码如下: T ...
- Kafka监控工具汇总
对于大数据集群来说,监控功能是非常必要的,通过日志判断故障低效,我们需要完整的指标来帮我们管理Kafka集群.本文讨论Kafka的监控以及一些常用的第三方监控工具. 一.Kafka Monitorin ...
- 谈自由,ASP.NET Core才是未来?
首先我要说一下自己对自由的理解: 自由是我可以选择不干什么,但我要保留我可以干什么的可能性. 比如说我现在只有一个码农的角色,但我仍然要保留我可以扮演其他角色的可能, 比如成为一个作者,当我写下文章的 ...
- Arduino 常用函数参考文档
封装好的API,使得程序中的语句更容易被理解,我们不用理会单片机中繁杂的寄存器配置,就能直观的控制Arduino,增强程序可读性的同时,也提高了开发效率. 本篇主要介绍: 一,项目结构 1.setup ...
- Mbatis是什么?怎么运行?
一 . Mybatis是什么? Mybatis是一个持久层框架,其中编写的过程中sql语句是需要程序员自己去编写,Mybatis也有 一些映射(输入参数映射,输出参数映射),Mybatis是 ...
- Hibernate对象状态之间的神奇转换
状态分类 在Hibernate框架中,为了管理持久化类,Hibernate将其分为了三个状态: 瞬时态(Transient Object) 持久态(Persistent Object) 脱管态(Det ...
- Comupter Tools 清单------包含但不限于此
- python 10 动态参数
目录 1. 函数的动态参数 1.1 动态位置参数(*arges) 1.2 动态关键字参数 (**kwargs) 1.3 万能传参: 2. 函数的注释 3. 名称空间 4. 函数嵌套 5. 函数变量修改 ...
- [Python] Django框架入门5——静态文件、中间件、上传图片和分页
说明: 本文主要描述Django其他的内容,涉及静态文件处理.中间件.上传文件.分页等. 开发环境:win10.Python3.5.Django1.10. 一.静态文件处理 在Django项目的静态文 ...