正在实现签到,随机选人,抢答
签到:
把课程显示在左边,通过选中课程,进行右边活动操作,日期用datapicker和Menubutton实现,只要保证String格式为这样
就能存入数据库中的datetime类型里,在截至日期前完成签到,才算成功,过期或签到码错误均算漏签
@FXML
public void ccc(){
//获取时间
time.setEtime(String.valueOf(datePicker.getValue()+" "+menuButton1.getText()+"-"+menuButton2.getText()+"-"+menuButton3.getText()));
System.out.println(time.course);
time.setName(Earn.name);
/*
截至时间
签到标题
签到码
课程
发到数据库
*/
}
@FXML
public void initialize() {
for (int i = 0; i <= 23; i++) {
MenuItem item = new MenuItem(Integer.toString(i));
item.setOnAction(event -> menuButton1.setText(item.getText()));
menuButton1.getItems().add(item);
}
for (int i = 0; i <= 59; i++) {
MenuItem item = new MenuItem(Integer.toString(i));
item.setOnAction(event -> menuButton2.setText(item.getText()));
menuButton2.getItems().add(item);
}
for (int i = 0; i <= 59; i++) {
MenuItem item = new MenuItem(Integer.toString(i));
item.setOnAction(event -> menuButton3.setText(item.getText()));
menuButton3.getItems().add(item);
}
// 设置 DatePicker 控件的默认值
datePicker.setValue(LocalDate.now());
System.out.println(datePicker.getValue());
// 监听 DatePicker 控件的值改变事件
datePicker.valueProperty().addListener((observable, oldValue, newValue) -> {
System.out.println("Selected date: " + newValue);
});
//展示课程
ObservableList<String> list = FXCollections.observableArrayList();
Socket socket2 = null;
try {
socket2 = new Socket("127.0.0.1", 10000);
ObjectOutputStream is = new ObjectOutputStream(socket2.getOutputStream());
Requent re = new Requent();
re.setSign(4);
re.setNa(Earn.name);
is.writeObject(re);
is.flush();
socket2.shutdownOutput();
ObjectInputStream in = new ObjectInputStream(socket2.getInputStream());
ArrayList<String> li = (ArrayList<String>) in.readObject();
for (String element : li) {
list.add(element);
// System.out.println(element);
}
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
/*
将课程1填入list,显示出来
*/
listView1.setItems(list);
listView1.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
listView1.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
// Handle click event here
time.course=newValue;
});
}