资源简介
掌握使用基本控件和合适布局管理器进行界面设计的方法,掌握简单的事件处理方法。能根据要求设计出美观界面并实现所要求功能。
实验内容:实现成绩的查询和排序。具体要求如下:使用JTabbedPane,建立三个选项卡“成绩输入”、“成绩查询”、“成绩排序”
① 成绩输入:从界面上输入学生的学号和成绩,点击“确认”按钮进行保存。
② 成绩查询:输入学生的学号,点击“查询”按钮,显示该生成绩。
③ 成绩排序:点击“排序”按钮,将按成绩从高低显示学生的学号和成绩。
实验内容:实现成绩的查询和排序。具体要求如下:使用JTabbedPane,建立三个选项卡“成绩输入”、“成绩查询”、“成绩排序”
① 成绩输入:从界面上输入学生的学号和成绩,点击“确认”按钮进行保存。
② 成绩查询:输入学生的学号,点击“查询”按钮,显示该生成绩。
③ 成绩排序:点击“排序”按钮,将按成绩从高低显示学生的学号和成绩。
代码片段和文件信息
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.util.Collections;
import java.util.Comparator;
import java.util.Vector;
class Student{ //先创建一个学生类 包含学号(sno) 成绩(grade)
String sno;
int grade;
public Student(String sint g) {
sno=s;
grade=g;
}
public String getsno() {
return sno; //读取学号
}
public int getgrade() {
return grade; //读取成绩
}
public void changegrade(int x) {
grade=x; //当输入相同学号的学生时用来更新数据
}
}
public class Grades extends Jframe {
Vector students;
鼠标 h;
//主界面的组件
JPanel 输入 查询 排序;
JTabbedPane 选项卡;
//输入成绩界面使用的组件
Box box1_输入box2_输入baseBox_输入;
JButton jb_输入;
JTextField jtf1_输入jtf2_输入jtf3_输入jtf4_输入;
//查询成绩界面使用的组件
Box box1_查询box2_查询baseBox_查询;
JButton jb_查询;
JLabel jla_查询show_查询;
JTextField jtf_查询;
JTextArea JTA_查询;
//成绩排序界面使用的组件
Box box1_排序box2_排序;;
JButton jb_排序;
JTextArea JTA_排序;
//创建专门用来处理鼠标点击事件的类
class 鼠标 implements ActionListener{
public void actionPerformed(ActionEvent e) {
if(e.getSource() == jb_输入) { //输入功能
int flag=0;
String s = jtf1_输入.getText();
int gra = Integer.parseInt( jtf2_输入.getText() );
Student stu = new Student( s gra );
for(int i=0;i String t = students.get(i).getsno(); //遇到相同学号更新该同学的成绩数据
if(s.equals(t)) {
flag=1;
students.get(i).changegrade(gra);
}
}
if(flag==0) {
students.add( stu );
JOptionPane.showMessageDialog( null “输入成功““输入数据“JOptionPane.PLAIN_MESSAGE );
}
else {
JOptionPane.showMessageDialog( null “修改该学生成绩成功““修改成绩“JOptionPane.PLAIN_MESSAGE );
}
jtf1_输入.setText( null );
jtf2_输入.setText( null ); //输入成功后清空 等待下一次输入
}
else if(e.getSource()==jb_查询) {
int flag=0;
String s = jtf_查询.getText();
for(int i=0;i String t = students.get(i).getsno();
if(s.equals(t)) {
flag=1;
JTA_查询.setText(“存在该学生:\n\n“);
JTA_查询.append(“学号:“+s+“ 成绩:“+students.get(i).getgrade());
break;
}
}
if(flag==0) {
JTA_查询.setText(“查询失败\n 不存在学号为“+s+“的学生“);
}
}
else if(e.getSource()==jb_排序) {
if(students.size()>0) {
Collections.sort( students new Comparator() {
public int compare( object o1 object o2 )
{
return ((Student)o2).getgrade()-((Student)o1).getgrade();
}
});
JTA_排序.setText(“学生成绩由高到低为:\n“);
for(int i=0;i JTA_排序.append(“学号为:“+students.get(i).getsno()+“的成绩为 “+students.get(i).getgrade()+“\n“);
}
}
else {
JTA_排序.setText(“
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 303 2018-05-16 19:28 Grades\.classpath
文件 382 2018-05-16 19:28 Grades\.project
文件 598 2018-05-16 19:28 Grades\.settings\org.eclipse.jdt.core.prefs
文件 743 2018-06-13 23:47 Grades\bin\Grades$鼠标$1.class
文件 3177 2018-06-13 23:47 Grades\bin\Grades$鼠标.class
文件 4051 2018-06-13 23:47 Grades\bin\Grades.class
文件 667 2018-06-13 23:47 Grades\bin\Student.class
文件 6579 2018-06-13 23:47 Grades\src\Grades.java
目录 0 2018-05-16 19:28 Grades\.settings
目录 0 2018-06-11 11:09 Grades\bin
目录 0 2018-05-16 19:28 Grades\src
目录 0 2018-05-16 19:28 Grades
----------- --------- ---------- ----- ----
16500 12
相关资源
- 超市进销存管理系统-学校实训
- 山东大学 大数据实验二 倒排索引算法
- java版本贪吃蛇
- shiro-all-1.4.0.jar
- 图书管理系统数据持久化
- 《Java程序性能优化:让你的Java程序更
- java制作工作证和调用斑马打印.rar
- java udp多人聊天室
-
org.springfr
amework.context-3.2.2.RELEASE.j - java下通过ajax调用Echarts案例
- java与plc通讯
- java开发的rpg游戏
- java任务管理系统
- 用Java中Swing实现满天星源码+文档
- java学生信息管理系统源代码
- JAVA时间工具类计算法定工作日工时等
- java开发走迷宫可视化源码程序
- Floyd算法-java实现
- java面向对象程序设计答案
- java课设-保存计算过程的计算器代码
- Java实验报告(房屋销售管理信息系统
- 商场销售管理系统 java netbeans
- 基于JAVA的安全的通讯软件源代码
- Java 音频wav等播放 循环 停止
- 网上排课系统 附带数据库可以运行
- 北大青鸟accp5.0java第六章理论加上机作
- 网络画板java源代码
- Apriori算法实现及实验报告
- Java 五子棋游戏毕业论文
- Java Cryptography Extension (JCE) 无限强度
评论
共有 条评论