예제 #1
0
 @FXML
 private void saveCode() {
   FileChooser fc = new FileChooser();
   fc.setTitle("保存先を指定");
   fc.setInitialFileName(contest.getSelectionModel().getSelectedItem().getValue());
   fc.getExtensionFilters().addAll(Extension.getFilterList());
   fc.setSelectedExtensionFilter(Extension.of(languageLabel.getText()).getFilter());
   Optional.ofNullable(fc.showSaveDialog(root.getScene().getWindow()))
       .ifPresent(
           f -> {
             try {
               Files.write(f.toPath(), ((String) obj.call("getCode")).getBytes());
             } catch (IOException e) {
             }
           });
 }
예제 #2
0
 @FXML
 private void setCode() {
   if (submission.getSelectionModel().isEmpty()) return;
   try {
     obj.call(
         "setCode",
         api.getCode(
             submission.getSelectionModel().getSelectedItem().getId(),
             contest.getSelectionModel().getSelectedItem().getValue()));
   } catch (Exception e) {
     getAlert(e, "提出コードの取得に失敗しました。").show();
     return;
   }
   languageLabel.setText(submission.getSelectionModel().getSelectedItem().getLanguage());
   Extension lang = Extension.of(languageLabel.getText());
   if (Stream.of(Extension.C, Extension.CPP).anyMatch(e -> e.equals(lang)))
     obj.call("setMode", "c_cpp");
   else obj.call("setMode", lang.toString().toLowerCase());
 }