public void saveScriptToFile(
      String code, String filename, Component parent, PropertyPanelController cont) {

    JFileChooser fileChooser = new JFileChooser();

    fileChooser.setDialogTitle("Save to file");
    String currentDirectory = new File(".").getAbsolutePath();

    fileChooser.setSelectedFile(new File(currentDirectory, filename));
    fileChooser.setName(FILE_CHOOSER);

    if (fileChooser.showSaveDialog(parent) == JFileChooser.APPROVE_OPTION) {
      File file = fileChooser.getSelectedFile();

      try {
        if (file.createNewFile()) {
          OutputStream out = new FileOutputStream(file);
          out.write(code.getBytes());
          out.close();

          cont.fileSaveSuccess(file.getAbsolutePath());
        }
      } catch (IOException e) {
        Log.error(e.getMessage(), e);

        cont.fileSaveError(file.getAbsolutePath());
      }
    }
  }
 private JFileChooser createFileChooser(
     final File base, final String resourceName, final FileFilter filter) {
   final JFileChooser fc = new JFileChooser(base);
   fc.setName(resourceName);
   fc.setMultiSelectionEnabled(false);
   fc.setAcceptAllFileFilterUsed(true);
   fc.setFileFilter(filter);
   getContext().getResourceMap().injectComponents(fc);
   return fc;
 }
 public boolean saveSelectedJobs(Component parentComponent) {
   EvAJob[] selected = getSelectedObjects();
   if (selected != null && (selected.length > 0)) {
     JFileChooser fc = new JFileChooser();
     fc.setName("Select a directory to save jobs to...");
     fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
     int returnVal = fc.showSaveDialog(parentComponent);
     if (returnVal == JFileChooser.APPROVE_OPTION) {
       File sFile = fc.getSelectedFile();
       if (sFile.exists()) {
         for (EvAJob job : selected) {
           if (job != null) {
             if (!FileTools.saveObjectToFolder(job, sFile, false, parentComponent)) {
               System.err.println("Error on saving jobs...");
               return false;
             }
           }
         }
       } else return false; // invalid folder chosen
     } else return false; // user break
   }
   return true;
 }
示例#4
0
 public void setDestinationName(String name) {
   destFileChooser.setName(name);
   destFileChooser.setSelectedFile(new File(name));
 }
示例#5
0
 public void setSourceName(String name) {
   sourceFileChooser.setName(name);
   sourceFileChooser.setSelectedFile(new File(name));
 }
  @Override
  public void actionPerformed(ActionEvent ae) {

    switch (ae.getActionCommand()) {
      case "Starten":
        boolean passed = true;

        for (int i = 0; i < 2; i++) {
          if (gui.getSpielerNamen().length < 2) {

            final JDialog alert = new JDialog();
            JLabel alertMessage = new JLabel();
            JButton alertOk = new JButton("Ok");

            gui.getSpielerAbfrage().setEnabled(false);
            alert.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
            alert.setSize(400, 100);
            alert.setResizable(false);
            alert.setLocationRelativeTo(null);
            alert.setLayout(null);
            alertMessage.setText("Ein oder mehrere Namen sind leer oder zu kurz!");
            alert.add(alertMessage);
            alertMessage.setBounds(25, 0, 400, 50);
            alert.add(alertOk);
            alertOk.setBounds(125, 40, 80, 20);
            // passed = false;
            // alertOk.addActionListener(new ActionListener() {
            // @Override
            // public void actionPerformed(ActionEvent arg0) {
            // alert.dispose();
            // spielerGui.getFrames()[3].setEnabled(true);
            // }
            // });
            alert.setVisible(true);
            break;
          }
        }
        if (passed) {
          ib = new SpielBean();

          for (int i = 0; i < 2; i++) {
            if (gui.getObMensch()[i].isSelected()) {
              ib.addSpieler(gui.getSpielerNamen()[i].getText());
            } else {
              ib.addSpielerKI(gui.getSpielerNamen()[i].getText());
            }
          }

          ib.initSpiel();
          gui.getSpielerAbfrage().dispose();
          gui.setBediener(ib);
          gui.SpielFrameAusgabe();
          gui.Spielfeldausgabe();
          gui.log("Das Spiel beginnt! \n");
        }
        break;

      case "Abbrechen":
        gui.getSpielerAbfrage().dispose();
        break;

      case "Zug durchfuehren!":
        if (ib.getAmZug().getKI() != null) {
          ib.benutzeKi();
          gui.kiZug();
        } else {
          String anweisung = gui.getTextfeld().getText();

          if ((Pattern.matches("[a-l A-L][1-9][-][a-l A-L][1-9]", anweisung))
              || (Pattern.matches("[a-l A-L][1][0-2][-][a-l A-L][1][0-2]", anweisung))
              || (Pattern.matches("[a-l A-L][1][0-2][-][a-l A-L][1-9]", anweisung))
              || (Pattern.matches("[a-l A-L][1-9][-][a-l A-L][1][0-2]", anweisung))) {

            String positionen = gui.getTextfeld().getText();
            String[] split = positionen.split("-");

            gui.log(
                "Spieler "
                    + ib.getAmZug().getName()
                    + " ("
                    + ib.getAmZug().getFarbe()
                    + ") will von "
                    + split[0]
                    + " nach "
                    + split[1]
                    + "\n");

            String[] stellen1 = new String[3];
            for (int i = 0; i < split[0].length(); i++) {
              stellen1[i] = Character.toString(split[0].toCharArray()[i]);
            }

            stellen1[0] = stellen1[0].toUpperCase();
            int[] intOldPos = new int[2];

            char character1 = stellen1[0].charAt(0);
            intOldPos[0] = character1;

            if (split[0].length() == 2) {
              intOldPos[1] = Integer.parseInt(stellen1[1]);
            }
            if (split[0].length() == 3) {
              intOldPos[1] = Integer.parseInt(stellen1[1] + stellen1[2]);
            }

            String[] stellen2 = new String[3];
            for (int i = 0; i < split[1].length(); i++) {
              stellen2[i] = Character.toString(split[1].toCharArray()[i]);
            }
            stellen2[0] = stellen2[0].toUpperCase();
            int[] intNewPos = new int[2];

            char character2 = stellen2[0].charAt(0);
            intNewPos[0] = character2;

            if (split[1].length() == 2) {
              intNewPos[1] = Integer.parseInt(stellen2[1]);
            }
            if (split[1].length() == 3) {
              intNewPos[1] = Integer.parseInt(stellen2[1] + stellen2[2]);
            }

            try {
              ib.zugDurchfueren(intOldPos, intNewPos);
            } catch (Exception e2) {
              gui.log("Fehler beim Zug!\n");
            }

            if (ib.getGewinner() != null) {
              gui.GewonnenFeld();
              gui.log(ib.getGewinner() + " hat gewonnen!\n");
              gui.getMainFrame().setVisible(false);
            }
          } else {
            gui.log("Eingabe fehlerhaft. Versuchs nochmal!");
          }
        }

        gui.FigurenSetzen();
        gui.log(ib.getAmZug().getName() + " " + ib.getAmZug().getFarbe() + " ist am Zug" + "\n");
        gui.getTextfeld().setText("");
        break;

      case "Gewonnen!":
        gui.getGewonnen().dispose();
        gui.getMainFrame().dispose();

      case "Okay!":
        gui.getKiDialog().dispose();

        break;
      case "Spiel laden":
        JFileChooser chooseAddressLaden = new JFileChooser();
        chooseAddressLaden.setName("chooseAddressSave");
        chooseAddressLaden.showOpenDialog(null);

        File fileAddressLaden = chooseAddressLaden.getSelectedFile();
        String fileNameLaden = chooseAddressLaden.getSelectedFile().getName();

        String splitFileLaden[] = fileNameLaden.split("\\.");
        if (splitFileLaden[1].equals("ser")) {
          ib = (SpielBean) ib.laden(fileAddressLaden, splitFileLaden[0], splitFileLaden[1]);
          gui.setBediener(ib);
          gui.log("Spiel wurde geladen Ser");
        } else {
          ib.laden(fileAddressLaden, splitFileLaden[0], splitFileLaden[1]);
          gui.log("Spiel wurde geladen CSV");
        }

        gui.FigurenSetzen();
        gui.getSpielfeld().repaint();
        gui.getSpielfeld().validate();

        gui.log(ib.getAmZug().getName() + " " + ib.getAmZug().getFarbe() + " ist am Zug" + "\n");
        break;
      case "als CSV speichern":
        JFileChooser chooseAddressSaveCSV = new JFileChooser();
        chooseAddressSaveCSV.setName("chooseAddressSaveCSV");
        chooseAddressSaveCSV.showOpenDialog(null);

        File fileAddressSaveCSV = chooseAddressSaveCSV.getSelectedFile();

        try {
          ib.Speichern("Dame Spiel", "CSV", fileAddressSaveCSV);
          gui.log("Spiel wurde als CSV gespeichert");
        } catch (IOException e) {
          e.printStackTrace();
        }
        break;
      case "Serialisiert speichern":
        JFileChooser chooseAddressSaveSer = new JFileChooser();
        chooseAddressSaveSer.setName("chooseAddressSaveSer");
        chooseAddressSaveSer.showOpenDialog(null);

        File fileAddressSaveSer = chooseAddressSaveSer.getSelectedFile();

        try {
          ib.Speichern("Dame Spiel", "SER", fileAddressSaveSer);
          gui.log("Spiel wurde als serialisierte Datei gespeichert");
        } catch (IOException e) {
          e.printStackTrace();
        }
        break;

      case "als PDF speichern":
        String[] name = new String[2];
        name[0] = "DamePDF";
        name[1] = "pdf";
        try {

          BufferedImage bImage = getScreenShot(gui.getSpielfeld());
          iDatenzugriff daten = new DatenzugriffPDF();
          daten.speichernPDF(name[0], "pdf", bImage, new File("DameSpielPdf"));
          gui.log("PDF wurde erstellt!\n");

        } catch (Exception ex) {
          gui.log("Keine PDF Datei!!!\n");
        }
        break;

      case "Mail senden":
        gui.mailSenden();

        gui.getMainFrame().setVisible(false);

        break;
      case "Beenden":
        gui.getMailboxJd().dispose();
        gui.getMainFrame().setVisible(true);
        break;
      case "senden":
        final String addressf = gui.getJtf2().getText();
        int x = gui.getAnhangeList().getSelectedIndex();
        switch (x) {
          case 0:
            try {
              ib.Speichern("DameSER", "SER", new File("DameSpielSer"));
            } catch (IOException e1) {
              System.err.println("Fehler bei Emailversand");
            }
            ib.Mailschreiben(
                addressf,
                "Dame_PSMJ",
                "Seehr geehrter Spieler, \n"
                    + "hiermit erhalten Sie die angeforderte Email. \n"
                    + "Im Anhang finden Sie den Serialisierten Speicherstand \n"
                    + " ",
                "DameSpielSer.ser",
                "DameSer.ser");
            gui.getMainFrame().setVisible(true);
            gui.log("Serialisierte Datei wurde als E-Mail verschickt");
            break;

          case 1:
            String[] nameMail = new String[2];
            nameMail[0] = "DamePDF";
            nameMail[1] = "pdf";
            try {

              BufferedImage bImage = getScreenShot(gui.getSpielfeld());
              iDatenzugriff daten = new DatenzugriffPDF();
              daten.speichernPDF(nameMail[0], "pdf", bImage, new File("DameSpielPdf.pdf"));
            } catch (Exception ex) {
              gui.log("Keine PDF Datei!!!\n");
            }
            ib.Mailschreiben(
                addressf,
                "Dame_PSMJ",
                "Seehr geehrter Spieler, \n"
                    + "hiermit erhalten Sie die angeforderte Email. \n"
                    + "Im Anhang finden Sie die PDF \n"
                    + " ",
                "DamePDF.pdf",
                "DameSpielPdf.pdf");
            gui.getMainFrame().setVisible(true);
            gui.log("E-Mail mit PDF wurde gesendet");
            break;

          default:
            break;
        }
        gui.getMailboxJd().dispose();
        break;

      default:
        throw new RuntimeException(
            "Hups, ein Fehler ist aufgetreten! Bitte geraten Sie in Panik bis das Problem behoben wurde...");
    }
  }