[多项选择题] 简单应用题请完成下列Java程序:用swing实现一个简单的学生成绩管理器,显示出学生的姓名,java成绩,c++成绩和这两门课的平均成绩,学生一共有4个人(Mike, Jack等)。

15 查阅

[多项选择题] 简单应用题请完成下列Java程序:用swing实现一个简单的学生成绩管理器,显示出学生的姓名,java成绩,c++成绩和这两门课的平均成绩,学生一共有4个人(Mike, Jack等)。要求可以修改学生的姓名和成绩,并且能够直接计算出平均成绩,如改变Mike的java成绩后,在平均成绩栏会自动更新为新的平均成绩。注意:请勿改动main( )主方法和其他已有语句内容,仅在下划线处填入适当的语句。程序运行结果如下:import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.table.TableModel;public class ex13_2 extends JFrame{ private JTable jt; private String[][] strData; public static void main(String[] args){ ex13_2 obj13_2=new ex13_2(); obj13_2.pack(); obj13_2.setVisible(true); } public ex13_2(){ String[] columnNames={"name","java","c++","average"}; strData=new String[][]{{"Mike","70.0","80.0","75.0"},{"Jack","70.0","100.0","85.0"},{"David","75.0","95.0","85.0"},{"Tom"

参考答案:

(String)jt.getValueAt(nRow,i)strData[nRow][C]=Float.toString(fAverage)

本题主要考查用swing基本构件设计图形用户界面,以及对二维数组的基本操作。解题关键是熟悉swing基本构件JTable的使用方法,熟悉swing的基本事件机制,会使用addTableModelListener()来注册该模型的一个TableModelListener,一旦表格内容改变,tableChanged()方法会被执行,使用getFirstRow()方法来得到数据被改变的行并重新计算平均值,由于数组数据是用来存储表格的数据,可以直接更改该数组的值。本题中,第1个空,根据参数nRow和i定位相应的数组中的数据;第2个空,修改数组中记录平均值的单元中的数据。

计算机考试