找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3341|回復(fù): 1
收起左側(cè)

基于javafx的學(xué)生電子點(diǎn)名系統(tǒng)(在eclipse中編寫完成)

[復(fù)制鏈接]
ID:314935 發(fā)表于 2019-5-19 19:04 | 顯示全部樓層 |閱讀模式
缺勤.png
111.jpg
222.jpg

功能清單:
1.成績加減分
2.加減分分值幅度可更改
3.可實(shí)現(xiàn)批量加分,按小組
4.查詢
5.班級(jí)品均分、統(tǒng)計(jì)圖等
6.課堂點(diǎn)名
7.課堂提問
8.考勤登記
9.考勤勘誤

部分關(guān)鍵代碼如下:
實(shí)現(xiàn)表格數(shù)據(jù)顯示和單元格可編輯,單元格事件監(jiān)聽。
package application;
                                       
                                        C1.setCellValueFactory(new PropertyValueFactory<Student,String>("rank"));
                                        C2.setCellValueFactory(new PropertyValueFactory<Student,String>("numberrank"));
                                        C3.setCellValueFactory(new PropertyValueFactory<Student,String>("fullName"));
                                        C4.setCellValueFactory(new PropertyValueFactory<Student,String>("yourGender"));
                                        C5.setCellValueFactory(new PropertyValueFactory<Student,String>("scholor"));
                                        C6.setCellValueFactory(new PropertyValueFactory<Student,String>("major"));
                                        C7.setCellValueFactory(new PropertyValueFactory<Student,String>("classrank"));
                                        C8.setCellValueFactory(new PropertyValueFactory<Student,String>("totalabsences"));
                                       
                                        C9.setCellValueFactory(new PropertyValueFactory<Student,String>("course1grade"));//+
                                        C10.setCellValueFactory(new PropertyValueFactory<Student,String>("course2grade"));
                                        C11.setCellValueFactory(new PropertyValueFactory<Student,String>("course3grade"));
                                        C12.setCellValueFactory(new PropertyValueFactory<Student,String>("course4grade"));
                                        C13.setCellValueFactory(new PropertyValueFactory<Student,String>("course5grade"));
                                        Cgroup.setCellValueFactory(new PropertyValueFactory<Student,String>("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 = //可以寫一個(gè)輸入框獲取用戶滿意的分值遞增幅度,改
                                                        FXCollections.observableArrayList(
                                                                "+"+DETAL.getText(),
                                                                "-"+DETAL.getText(),
                                                        "小組加分"                             
                                                    );
                                       
                                        C9.setCellFactory(tc -> {//combobox定義與監(jiān)聽,往后+
                                    ComboBox<String> combo = new ComboBox<String>();
                                    combo.setItems(options);
                                   
                                    combo.setEditable(true);
                                    TableCell<Student, String> cell = new TableCell<Student, String>() {
                                        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選項(xiàng)
                                            {        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));//改成數(shù)據(jù)庫輸出
                                                   
                                                    TABLE.refresh();
                                                    break;}
                                            }
                                            }
                                            if(value.equals(options.get(2))){//3選項(xiàng)
                                                    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;
                                        });
                                       



回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2019-5-20 02:04 | 顯示全部樓層
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表