基于java的学生点名系统_基于javafx的学生电子点名系统(在eclipse中编写完成)...

这是一个使用JavaFX在Eclipse中编写的基于Java的学生点名系统,具备成绩加减、分值幅度自定义、批量加分、查询、统计等功能。系统包括课堂点名、考勤登记、考勤勘误,还支持表格数据显示和单元格编辑,通过ComboBox实现单元格事件监听和分值调整。
摘要由CSDN通过智能技术生成

3f829e29e76caa8c3b1f630a6b27d58d.gif

缺勤.png (35.77 KB, 下载次数: 5)

2019-5-19 18:52 上传

3f829e29e76caa8c3b1f630a6b27d58d.gif

111.jpg (35.86 KB, 下载次数: 5)

2019-5-19 18:59 上传

3f829e29e76caa8c3b1f630a6b27d58d.gif

222.jpg (16.62 KB, 下载次数: 7)

2019-5-19 18:59 上传

功能清单:

1.成绩加减分

2.加减分分值幅度可更改

3.可实现批量加分,按小组

4.查询

5.班级品均分、统计图等

6.课堂点名

7.课堂提问

8.考勤登记

9.考勤勘误

部分关键代码如下:

实现表格数据显示和单元格可编辑,单元格事件监听。

package application;

C1.setCellValueFactory(new PropertyValueFactory("rank"));

C2.setCellValueFactory(new PropertyValueFactory("numberrank"));

C3.setCellValueFactory(new PropertyValueFactory("fullName"));

C4.setCellValueFactory(new PropertyValueFactory("yourGender"));

C5.setCellValueFactory(new PropertyValueFactory("scholor"));

C6.setCellValueFactory(new PropertyValueFactory("major"));

C7.setCellValueFactory(new PropertyValueFactory("classrank"));

C8.setCellValueFactory(new PropertyValueFactory("totalabsences"));

C9.setCellValueFactory(new PropertyValueFactory("course1grade"));//+

C10.setCellValueFactory(new PropertyValueFactory("course2grade"));

C11.setCellValueFactory(new PropertyValueFactory("course3grade"));

C12.setCellValueFactory(new PropertyValueFactory("course4grade"));

C13.setCellValueFactory(new PropertyValueFactory("course5grade"));

Cgroup.setCellValueFactory(new PropertyValueFactory("groupname"));

C8.setCellFactory(TextFieldTableCell.forTableColumn());

//TextField tf = new TextField();

//String up = new String("+");

//String down = new String("-");

//up = up+DETAL.getText();

//down = down + DETAL.getText();

options = //可以写一个输入框获取用户满意的分值递增幅度,改

FXCollections.observableArrayList(

"+"+DETAL.getText(),

"-"+DETAL.getText(),

"小组加分"

);

C9.setCellFactory(tc -> {//combobox定义与监听,往后+

ComboBox combo = new ComboBox();

combo.setItems(options);

combo.setEditable(true);

TableCell cell = new TableCell() {

protected void updateItem(String chuzhi, boolean empty) {

super.updateItem(chuzhi, empty);

if (empty) {

setGraphic(null);

} else {

combo.setValue(chuzhi);

setGraphic(combo);

}

}

};

combo.setOnAction(e -> {if(TABLE.isFocused()||this.TEXT.isFocused()||this.Usehelp.isFocused()||this.SEARCH.isFocused()||this.xiangqing.isFocused()||DETAL.isFocused()){return;}

String keyname = TABLE.getItems().get(cell.getIndex()).getFullName();

//        System.out.println("options.get(1)"+options.get(1));

String value = combo.getValue();

// System.out.println("options.get(2)"+options.get(2));

System.out.println("zzzzzz"+value);

if(value.equals(options.get(0))  ||  value.equals(options.get(1) ))//1  2选项

{        value =String.valueOf(Integer.valueOf(value)+Integer.valueOf(TABLE.getItems().get(cell.getIndex()).getCourse1grade()));

if(Integer.valueOf(value)>100){value = "100";}

if(Integer.valueOf(value)<0){value = "0";}

for (int i=0;i < students_bake.size();i++){

if(   (students_bake.get(i).getFullName().equals(keyname))  || (students_bake.get(i).getNumberrank().endsWith(keyname) )  )

{

students_bake.get(i).setCourse1grade(value);

update(students_bake.get(i));//改成数据库输出

TABLE.refresh();

break;}

}

}

if(value.equals(options.get(2))){//3选项

int  valuq = Integer.valueOf(DETAL.getText())  ;

System.out.println("valuq:"+valuq);

System.out.println("1"+TABLE.getItems().get(cell.getIndex()).getGroupname());

for (int i=0;i < students_bake.size();i++){

if(   (students_bake.get(i).getGroupname().equals(TABLE.getItems().get(cell.getIndex()).getGroupname()))){

System.out.println(students_bake.get(i).getGroupname());

int gradeq = Integer.valueOf(students_bake.get(i).getCourse1grade());

int sum = valuq+gradeq;

if(sum > 100){sum = 100;}

students_bake.get(i).setCourse1grade(String.valueOf(sum));

update(students_bake.get(i));

}

}

TABLE.refresh();

}

else{

System.out.println("aiwudniuwadq"+value);

for (int i=0;i < students_bake.size();i++){

if(   (students_bake.get(i).getFullName().equals(keyname))  || (students_bake.get(i).getNumberrank().endsWith(keyname) )  )

{

students_bake.get(i).setCourse1grade(value);

update(students_bake.get(i));

//TABLE.getItems().get(cell.getIndex()).setCourse1grade(value);

TABLE.refresh();

break;}}

}

});

return cell;

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值