• 大小: 8KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-14
  • 语言: Java
  • 标签: java  

资源简介

掌握使用基本控件和合适布局管理器进行界面设计的方法,掌握简单的事件处理方法。能根据要求设计出美观界面并实现所要求功能。
实验内容:实现成绩的查询和排序。具体要求如下:使用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


评论

共有 条评论