@Override
    public void actionPerformed(ActionEvent e) {
        Object source = e.getSource();
        if (source == startRead) {
            // File Chooser anlegen
            this.fc = new JFileChooser();
            fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
            // Dialog zum Datei öffnen anzeigen
            int returnVal = fc.showOpenDialog(this);
            timeStart = System.nanoTime();
            read(fc.getSelectedFile());
            timeEnd = System.nanoTime();
            timeDiff = ((timeEnd - timeStart) / UMRMS);
            tfRead.setText(Double.valueOf(timeDiff).toString() + " ms");
        } else if (source == startSuccess) {
            timeStart = System.nanoTime();
            for (String key : array) {
                woerterBuch.getDic().search(key);
            }
            timeEnd = System.nanoTime();
            timeDiff = ((timeEnd - timeStart) / UMRMS);
            tfSuccess.setText(Double.valueOf(timeDiff).toString() + " ms");
        } else if (source == startFail) {
            ArrayList<String> array2 = new ArrayList<>(array);
            for (String key : array2) {
                key = key + "1";
            }
            timeStart = System.nanoTime();
            for (String key : array2) {
                woerterBuch.getDic().search(key);
            }
            timeEnd = System.nanoTime();
            timeDiff = ((timeEnd - timeStart) / UMRMS);
            tfFail.setText(Double.valueOf(timeDiff).toString() + " ms");
        }
    }