Hallo!
Ich habe eine Abfrage in meinem Skript, ob eine wav-Datei vorhanden ist (die auch definitiv vorhanden ist). Allerdings existiert sie laut Programm nicht. Kann mir jemand helfen?
(tut mir leid, dass es so viel ist, aber ich habe die Befürchtung, dass der Fehler an irgendeiner Stelle in dem Programm liegt, an der ich ihn gar nicht vermute...)
Danke schonmal!
Yvonne
Quellcode (die entsprechende Abfrage ist fett gekennzeichnet):
import java.awt.*;
import java.awt.Color;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import java.util.Vector;
import java.io.*;
public class Prominence extends JPanel implements ActionListener {
/* Klasse fuer den Startbildschirm
*/
private class StartWindow extends JPanel implements ActionListener {
// Startbildschirm
JTextField _init;
JTextField _alter;
JTextField _sex;
JButton _start;
String _dateiname;
JLabel _begruessung;
// parent window
Prominence _prom;
/* Konstruktor der Klasse StartWindow
*/
public StartWindow(Prominence p) {
_prom = p;
_dateiname = new String("");
setSize(800,600);
setLayout(new GridBagLayout());
// GridLayout
GridBagConstraints c = new GridBagConstraints();
_begruessung = new JLabel("<html><style=\"margin-left:20px;white-space:normal;\">Herzlich Willkommen zum Perzeptionsexperiment!<br><br>Im Folgenden werden Sie jeweils zwei Saetze hoeren, die sich in ihrem Inhalt nicht unterscheiden, <br>wohl aber in ihrer Intonation. Sie koennen sich die Saetze mehrmals anhoeren, indem Sie auf den <br>Button klicken, auf dem der Satz in Orthographie steht. Dort ist auch ein Wort unterstrichen, auf <br>das Sie besonders achten sollen. Ihre Aufgabe ist es, mit dem Balken anzugeben, wie aehnlich <br>sich die Realisierungen des Wortes in den beiden Saetzen sind. <br>Ziehen Sie den Balken ganz nach oben, wenn sie genau gleich prominent sind und ganz nach <br>unten, wenn sie sich sehr unterscheiden. Wenn Sie Ihre Bewertung abegschlossen haben, <br>klicken Sie auf Weiter. <br><br>Viel Erfolg!<br><br><br><br></style></html>");
c.gridx=0;
c.gridy=0;
add (_begruessung,c);
// 2 Eingabefelder fuer die Statistik
JLabel text1 = new JLabel("Geben Sie bitte Ihre Initialen ein: ");
c.gridx=0;
c.gridy=1;
add(text1,c);
JLabel text2 = new JLabel("Geben Sie bitte Ihr Alter ein: ");
c.gridx=0;
c.gridy=2;
add(text2,c);
JLabel text3 = new JLabel ("Geben Sie bitte Ihr Geschlecht an (m oder w): ");
c.gridx=0;
c.gridy=3;
add(text3,c);
_init = new JTextField("",2);
c.gridx=1;
c.gridy=1;
add(_init,c);
_alter = new JTextField("",2);
c.gridx=1;
c.gridy=2;
add(_alter,c);
_sex = new JTextField("",1);
c.gridx=1;
c.gridy=3;
add(_sex,c);
// Beim Klick auf den Startbutton wird das Experiment gestartet
_start = new JButton("Experiment starten");
_start.addActionListener(this);
_start.setActionCommand("start_experiment");
c.gridx=2;
c.gridy=4;
add(_start,c);
}
/* Methoden um die Klassenvariablen auszulesen.
*/
public String Textfeld1Auslesen() {
String initialen = _init.getText();
return initialen;
}
public String Textfeld2Auslesen() {
String alter = _alter.getText();
return alter;
}
public String Textfeld3Auslesen() {
String sex = _sex.getText();
return sex;
}
public String holeDateiname() {
return _dateiname;
}
/* Hier wird der Dateiname aus den Initialen und dem Alter generiert,
die Datei geoeffnet und das Experiment gestartet */
public void actionPerformed(ActionEvent e) {
if("start_experiment".equals(e.getActionCommand())) {
// textfelder auslesen, dateiname generieren
String initialen = Textfeld1Auslesen();
String alter = Textfeld2Auslesen();
String sex = Textfeld3Auslesen();
/* Dateinamen generieren
_dateiname = initialen + new String("_") + alter + new String ("_") + sex + new String(".txt");
try {
FileReader fr = new FileReader(_dateiname);
BufferedReader br = new BufferedReader(fr);
_dateiname = initialen + new String("_") + alter + new String ("_") + sex + new String ("_1") + new String(".txt");
try {
FileReader file = new FileReader(_dateiname);
BufferedReader buffered = new BufferedReader(file);
_dateiname = initialen + new String("_") + alter + new String ("_") + sex + new String("_2") + new String(".txt");
} catch (FileNotFoundException f) {
}
} catch (FileNotFoundException f) {
}
// Der Versuch, eine automatische Indexnummer zu vergeben... ist aufgrund
// mehrerer Fehlermeldungen gescheitert
// experiment starten
_prom.startExperiment();
}
}
};
// Klasse fuer den Schlussbildschirm
private class Thanks extends JPanel implements ActionListener {
// parent window
Prominence _prom;
JLabel _danke;
// Konstruktor der Klasse Thanks
public Thanks(Prominence p) {
_prom = p;
setSize(800,600);
setLayout(new GridBagLayout());
// GridLayout
GridBagConstraints c = new GridBagConstraints();
_danke = new JLabel("<html>Vielen Dank, dass Sie an unserem Experiment teilgenommen haben.<br><br>Wenn Sie Informationen über die Ergebnisse bekommen wollen, schreiben Sie doch eine kurze Mail an: blablablubb@web.de</html>");
c.gridx=0;
c.gridy=0;
add(_danke,c);
JButton _schliessen = new JButton("Fenster schliessen");
_schliessen.setActionCommand("CLOSE");
_schliessen.addActionListener(this);
c.gridx=0;
c.gridy=1;
add(_schliessen,c);
}
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
System.exit(0);
}
}
// Experiment
private class Experiment extends JPanel implements ActionListener {
// Das Experiment-Design besteht aus dem Slider (von 0-100), dem Satz-Button und dem Weiter-Button
JSlider _slider;
JButton _satz;
JButton _weiter;
Prominence _prom;
/* Es werden zwei Vektoren erstellt, in die im Experiment aus der Datei test_description die wav-Files und die
zugehoerigen Saetze eingelesen werden
current_wav ist hierbei die aktuelle wav-Datei, deren zugeordneter Satz auf dem Satz-Button erscheint */
Vector _wav_files;
Vector _sentences;
Vector _bewertung;
int _current_wav;
// Konstruktor
public Experiment(Prominence p)
{
_prom = p;
_wav_files = new Vector();
_sentences = new Vector();
_bewertung = new Vector();
_current_wav = 0;
// datei mit zuordnung wav->Satz einlesen
readExperimentDescription("test_description.txt");
// Button mit erstem satz und erster datei initialisieren
setSize(800,600);
setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
// Beim Klick auf den Satz-Button wird die wav-Datei erneut abgespielt
_satz = new JButton((String)_sentences.elementAt(_current_wav));
_satz.setActionCommand("play_again");
c.weightx = 1.0;
c.gridx = 1;
c.gridy = 0;
add(_satz,c);
// Erstellung des Silders
_slider = new JSlider(JSlider.VERTICAL,0,100,50);
_slider.setBackground(Color.WHITE);
c.gridx=1;
c.gridy=1;
add(_slider,c);
/* Der Slider geht von 0 bis 100, Default ist 50. Auf diesen Wert wird er beim Klick auf den
Weiter-Button zurueckgestellt.
Der Wert, den die VP angegeben hat, wird in eine Datei gespeichert. */
_slider.setMajorTickSpacing(100);
_slider.setPaintTicks(true);
// Label Table wird erstellt
Hashtable labelTable = new Hashtable();
labelTable.put( new Integer( 0 ), new JLabel("Kein Unterschied") );
labelTable.put( new Integer( 100 ), new JLabel("Maximaler Unterschied") );
_slider.setLabelTable( labelTable );
_slider.setPaintLabels(true);
_weiter = new JButton("Weiter");
_weiter.setActionCommand("weiter");
c.gridx=2;
c.gridy=2;
add(_weiter,c);
_weiter.addActionListener(this);
_satz.addActionListener(this);
}
// Skript zum Abspielen der wav-Dateien
public void playCurrentWav() {
new AePlayWave((String)_wav_files.elementAt(_current_wav)).start();
}
// Die Textdatei, in der die wav-Dateien und die Saetze aufgelistet sind, wird eingelesen
public void readExperimentDescription(String filename) {
try {
BufferedReader in = new BufferedReader(new FileReader(filename));
String str;
while ((str = in.readLine()) != null) {
String[] splitted = str.split(" ",2);
/* Vektor _wav_files enthaelt das erste Element der Datei (Dateiname),
Vektor _sentences das zweite Element (Satz) */
_wav_files.addElement(splitted[0]);
_sentences.addElement(splitted[1]);
}
in.close();
} catch (IOException e) {
}
}
// Methoden zum Aufrufen der Bewertungen und der Wav-Dateien (als Strings)
public Vector holeBewertung() {
return _bewertung;
}
public Vector holeWavDateien () {
return _wav_files;
}
public void actionPerformed(ActionEvent e) {
// Beim Klick des Benutzers auf "Weiter"
if("weiter".equals(e.getActionCommand())) {
// Wenn die letzte Wav-Datei erreicht ist
if(_wav_files.size()-1 == _current_wav) {
int value = _slider.getValue();
// letzte Bewertung noch speichern, dann
_bewertung.addElement(value);
// Ende erreicht, mach nix mehr
_prom.startThanks();
// loese speichern aus
_prom.speichereErgebnis();
return;
}
// Wenn das Ende noch nicht erreicht ist...
_current_wav = _current_wav + 1;
System.out.println(_current_wav + System.getProperty("line.separator"));
// slider wert abfragen, in vector speichern
int value = _slider.getValue();
_bewertung.addElement(value);
// slider resetten
_slider.setValue(50);
// neue wav-datei laden(Dateiname aus array auslesen), satz aendern
boolean exists = (new File("_wav_files_elementAt(_current_wav)")).exists();
if (exists) {
System.out.println("existiert" + System.getProperty("line.separator"));
// File or directory exists
} else {
System.out.println("existiert nicht" + System.getProperty("line.separator"));
// File or directory does not exist
}
}
// Klick des Benutzers auf den Button, auf dem der Satz steht
else if("play_again".equals(e.getActionCommand())) {
// wav-datei oeffnen und abspielen
playCurrentWav();
}
}
};
Experiment _exp;
StartWindow _start_window;
Thanks _thanks;
public Prominence(){
setSize(800,600);
_exp = new Experiment(this);
_start_window = new StartWindow(this);
_thanks = new Thanks(this);
add(_start_window);
}
public void showStartWindow()
{
_start_window.setVisible(true);
}
public void hideExperiment()
{
//_exp.setVisible(false);
}
public void startExperiment()
{
_start_window.setVisible(false);
add(_exp);
_exp.setVisible(true);
_exp.playCurrentWav();
}
// Der Schlussbildschirm wird nach der Bewertung der letzten Audiodatei aufgerufen
public void startThanks()
{
_exp.setVisible(false);
add(_thanks);
_thanks.setVisible(true);
}
// Im Vektor bewertung befinden sich alle Bewertungen der Audiodateien
public void speichereErgebnis() {
String datei = _start_window.holeDateiname();
Vector bewertung = _exp.holeBewertung();
Vector wav = _exp.holeWavDateien();
// BufferedWriter fuer die Datei oeffnen
// fuer jedes Element des Bewertungsvektors
for(int k=0; k < bewertung.size(); ++k) {
// schreibe index und bewertung in die datei
try {
BufferedWriter bw = new BufferedWriter (new FileWriter (datei, true));
// Ausgabeformat: Index-Dateiname der wav-Datei-Bewertung der wav-Datei (Zeilenumbruch)
bw.write(k + "-" + wav.elementAt(k) + "-" + bewertung.elementAt(k) + System.getProperty("line.separator"));
bw.close();
//}
}
catch (IOException f) {
}
}
}
public void windowClosing(WindowEvent e) {
System.exit(0);
}
public void actionPerformed(ActionEvent e) {
System.out.println("Action start window");
_start_window.actionPerformed(e);
System.out.println("Action experiment window");
_exp.actionPerformed(e);
}
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("ProminenceDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Create and set up the content pane.
Prominence newContentPane = new Prominence();
//newContentPane.addActionListener(this);
newContentPane.setMinimumSize(new Dimension(800,600));
newContentPane.setMaximumSize(new Dimension(800,600));
newContentPane.setPreferredSize(new Dimension(800,600));
newContentPane.showStartWindow();
newContentPane.hideExperiment();
newContentPane.setOpaque(true); //content panes must be opaque
newContentPane.setBackground(Color.WHITE);
frame.setContentPane(newContentPane);
//Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String argv[]) {
createAndShowGUI();
//ButtonEx1 be = new ButtonEx1();
}
}
Ich habe eine Abfrage in meinem Skript, ob eine wav-Datei vorhanden ist (die auch definitiv vorhanden ist). Allerdings existiert sie laut Programm nicht. Kann mir jemand helfen?
(tut mir leid, dass es so viel ist, aber ich habe die Befürchtung, dass der Fehler an irgendeiner Stelle in dem Programm liegt, an der ich ihn gar nicht vermute...)
Danke schonmal!
Yvonne
Quellcode (die entsprechende Abfrage ist fett gekennzeichnet):
import java.awt.*;
import java.awt.Color;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import java.util.Vector;
import java.io.*;
public class Prominence extends JPanel implements ActionListener {
/* Klasse fuer den Startbildschirm
*/
private class StartWindow extends JPanel implements ActionListener {
// Startbildschirm
JTextField _init;
JTextField _alter;
JTextField _sex;
JButton _start;
String _dateiname;
JLabel _begruessung;
// parent window
Prominence _prom;
/* Konstruktor der Klasse StartWindow
*/
public StartWindow(Prominence p) {
_prom = p;
_dateiname = new String("");
setSize(800,600);
setLayout(new GridBagLayout());
// GridLayout
GridBagConstraints c = new GridBagConstraints();
_begruessung = new JLabel("<html><style=\"margin-left:20px;white-space:normal;\">Herzlich Willkommen zum Perzeptionsexperiment!<br><br>Im Folgenden werden Sie jeweils zwei Saetze hoeren, die sich in ihrem Inhalt nicht unterscheiden, <br>wohl aber in ihrer Intonation. Sie koennen sich die Saetze mehrmals anhoeren, indem Sie auf den <br>Button klicken, auf dem der Satz in Orthographie steht. Dort ist auch ein Wort unterstrichen, auf <br>das Sie besonders achten sollen. Ihre Aufgabe ist es, mit dem Balken anzugeben, wie aehnlich <br>sich die Realisierungen des Wortes in den beiden Saetzen sind. <br>Ziehen Sie den Balken ganz nach oben, wenn sie genau gleich prominent sind und ganz nach <br>unten, wenn sie sich sehr unterscheiden. Wenn Sie Ihre Bewertung abegschlossen haben, <br>klicken Sie auf Weiter. <br><br>Viel Erfolg!<br><br><br><br></style></html>");
c.gridx=0;
c.gridy=0;
add (_begruessung,c);
// 2 Eingabefelder fuer die Statistik
JLabel text1 = new JLabel("Geben Sie bitte Ihre Initialen ein: ");
c.gridx=0;
c.gridy=1;
add(text1,c);
JLabel text2 = new JLabel("Geben Sie bitte Ihr Alter ein: ");
c.gridx=0;
c.gridy=2;
add(text2,c);
JLabel text3 = new JLabel ("Geben Sie bitte Ihr Geschlecht an (m oder w): ");
c.gridx=0;
c.gridy=3;
add(text3,c);
_init = new JTextField("",2);
c.gridx=1;
c.gridy=1;
add(_init,c);
_alter = new JTextField("",2);
c.gridx=1;
c.gridy=2;
add(_alter,c);
_sex = new JTextField("",1);
c.gridx=1;
c.gridy=3;
add(_sex,c);
// Beim Klick auf den Startbutton wird das Experiment gestartet
_start = new JButton("Experiment starten");
_start.addActionListener(this);
_start.setActionCommand("start_experiment");
c.gridx=2;
c.gridy=4;
add(_start,c);
}
/* Methoden um die Klassenvariablen auszulesen.
*/
public String Textfeld1Auslesen() {
String initialen = _init.getText();
return initialen;
}
public String Textfeld2Auslesen() {
String alter = _alter.getText();
return alter;
}
public String Textfeld3Auslesen() {
String sex = _sex.getText();
return sex;
}
public String holeDateiname() {
return _dateiname;
}
/* Hier wird der Dateiname aus den Initialen und dem Alter generiert,
die Datei geoeffnet und das Experiment gestartet */
public void actionPerformed(ActionEvent e) {
if("start_experiment".equals(e.getActionCommand())) {
// textfelder auslesen, dateiname generieren
String initialen = Textfeld1Auslesen();
String alter = Textfeld2Auslesen();
String sex = Textfeld3Auslesen();
/* Dateinamen generieren
_dateiname = initialen + new String("_") + alter + new String ("_") + sex + new String(".txt");
try {
FileReader fr = new FileReader(_dateiname);
BufferedReader br = new BufferedReader(fr);
_dateiname = initialen + new String("_") + alter + new String ("_") + sex + new String ("_1") + new String(".txt");
try {
FileReader file = new FileReader(_dateiname);
BufferedReader buffered = new BufferedReader(file);
_dateiname = initialen + new String("_") + alter + new String ("_") + sex + new String("_2") + new String(".txt");
} catch (FileNotFoundException f) {
}
} catch (FileNotFoundException f) {
}
// Der Versuch, eine automatische Indexnummer zu vergeben... ist aufgrund
// mehrerer Fehlermeldungen gescheitert
// experiment starten
_prom.startExperiment();
}
}
};
// Klasse fuer den Schlussbildschirm
private class Thanks extends JPanel implements ActionListener {
// parent window
Prominence _prom;
JLabel _danke;
// Konstruktor der Klasse Thanks
public Thanks(Prominence p) {
_prom = p;
setSize(800,600);
setLayout(new GridBagLayout());
// GridLayout
GridBagConstraints c = new GridBagConstraints();
_danke = new JLabel("<html>Vielen Dank, dass Sie an unserem Experiment teilgenommen haben.<br><br>Wenn Sie Informationen über die Ergebnisse bekommen wollen, schreiben Sie doch eine kurze Mail an: blablablubb@web.de</html>");
c.gridx=0;
c.gridy=0;
add(_danke,c);
JButton _schliessen = new JButton("Fenster schliessen");
_schliessen.setActionCommand("CLOSE");
_schliessen.addActionListener(this);
c.gridx=0;
c.gridy=1;
add(_schliessen,c);
}
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
System.exit(0);
}
}
// Experiment
private class Experiment extends JPanel implements ActionListener {
// Das Experiment-Design besteht aus dem Slider (von 0-100), dem Satz-Button und dem Weiter-Button
JSlider _slider;
JButton _satz;
JButton _weiter;
Prominence _prom;
/* Es werden zwei Vektoren erstellt, in die im Experiment aus der Datei test_description die wav-Files und die
zugehoerigen Saetze eingelesen werden
current_wav ist hierbei die aktuelle wav-Datei, deren zugeordneter Satz auf dem Satz-Button erscheint */
Vector _wav_files;
Vector _sentences;
Vector _bewertung;
int _current_wav;
// Konstruktor
public Experiment(Prominence p)
{
_prom = p;
_wav_files = new Vector();
_sentences = new Vector();
_bewertung = new Vector();
_current_wav = 0;
// datei mit zuordnung wav->Satz einlesen
readExperimentDescription("test_description.txt");
// Button mit erstem satz und erster datei initialisieren
setSize(800,600);
setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
// Beim Klick auf den Satz-Button wird die wav-Datei erneut abgespielt
_satz = new JButton((String)_sentences.elementAt(_current_wav));
_satz.setActionCommand("play_again");
c.weightx = 1.0;
c.gridx = 1;
c.gridy = 0;
add(_satz,c);
// Erstellung des Silders
_slider = new JSlider(JSlider.VERTICAL,0,100,50);
_slider.setBackground(Color.WHITE);
c.gridx=1;
c.gridy=1;
add(_slider,c);
/* Der Slider geht von 0 bis 100, Default ist 50. Auf diesen Wert wird er beim Klick auf den
Weiter-Button zurueckgestellt.
Der Wert, den die VP angegeben hat, wird in eine Datei gespeichert. */
_slider.setMajorTickSpacing(100);
_slider.setPaintTicks(true);
// Label Table wird erstellt
Hashtable labelTable = new Hashtable();
labelTable.put( new Integer( 0 ), new JLabel("Kein Unterschied") );
labelTable.put( new Integer( 100 ), new JLabel("Maximaler Unterschied") );
_slider.setLabelTable( labelTable );
_slider.setPaintLabels(true);
_weiter = new JButton("Weiter");
_weiter.setActionCommand("weiter");
c.gridx=2;
c.gridy=2;
add(_weiter,c);
_weiter.addActionListener(this);
_satz.addActionListener(this);
}
// Skript zum Abspielen der wav-Dateien
public void playCurrentWav() {
new AePlayWave((String)_wav_files.elementAt(_current_wav)).start();
}
// Die Textdatei, in der die wav-Dateien und die Saetze aufgelistet sind, wird eingelesen
public void readExperimentDescription(String filename) {
try {
BufferedReader in = new BufferedReader(new FileReader(filename));
String str;
while ((str = in.readLine()) != null) {
String[] splitted = str.split(" ",2);
/* Vektor _wav_files enthaelt das erste Element der Datei (Dateiname),
Vektor _sentences das zweite Element (Satz) */
_wav_files.addElement(splitted[0]);
_sentences.addElement(splitted[1]);
}
in.close();
} catch (IOException e) {
}
}
// Methoden zum Aufrufen der Bewertungen und der Wav-Dateien (als Strings)
public Vector holeBewertung() {
return _bewertung;
}
public Vector holeWavDateien () {
return _wav_files;
}
public void actionPerformed(ActionEvent e) {
// Beim Klick des Benutzers auf "Weiter"
if("weiter".equals(e.getActionCommand())) {
// Wenn die letzte Wav-Datei erreicht ist
if(_wav_files.size()-1 == _current_wav) {
int value = _slider.getValue();
// letzte Bewertung noch speichern, dann
_bewertung.addElement(value);
// Ende erreicht, mach nix mehr
_prom.startThanks();
// loese speichern aus
_prom.speichereErgebnis();
return;
}
// Wenn das Ende noch nicht erreicht ist...
_current_wav = _current_wav + 1;
System.out.println(_current_wav + System.getProperty("line.separator"));
// slider wert abfragen, in vector speichern
int value = _slider.getValue();
_bewertung.addElement(value);
// slider resetten
_slider.setValue(50);
// neue wav-datei laden(Dateiname aus array auslesen), satz aendern
boolean exists = (new File("_wav_files_elementAt(_current_wav)")).exists();
if (exists) {
System.out.println("existiert" + System.getProperty("line.separator"));
// File or directory exists
} else {
System.out.println("existiert nicht" + System.getProperty("line.separator"));
// File or directory does not exist
}
}
// Klick des Benutzers auf den Button, auf dem der Satz steht
else if("play_again".equals(e.getActionCommand())) {
// wav-datei oeffnen und abspielen
playCurrentWav();
}
}
};
Experiment _exp;
StartWindow _start_window;
Thanks _thanks;
public Prominence(){
setSize(800,600);
_exp = new Experiment(this);
_start_window = new StartWindow(this);
_thanks = new Thanks(this);
add(_start_window);
}
public void showStartWindow()
{
_start_window.setVisible(true);
}
public void hideExperiment()
{
//_exp.setVisible(false);
}
public void startExperiment()
{
_start_window.setVisible(false);
add(_exp);
_exp.setVisible(true);
_exp.playCurrentWav();
}
// Der Schlussbildschirm wird nach der Bewertung der letzten Audiodatei aufgerufen
public void startThanks()
{
_exp.setVisible(false);
add(_thanks);
_thanks.setVisible(true);
}
// Im Vektor bewertung befinden sich alle Bewertungen der Audiodateien
public void speichereErgebnis() {
String datei = _start_window.holeDateiname();
Vector bewertung = _exp.holeBewertung();
Vector wav = _exp.holeWavDateien();
// BufferedWriter fuer die Datei oeffnen
// fuer jedes Element des Bewertungsvektors
for(int k=0; k < bewertung.size(); ++k) {
// schreibe index und bewertung in die datei
try {
BufferedWriter bw = new BufferedWriter (new FileWriter (datei, true));
// Ausgabeformat: Index-Dateiname der wav-Datei-Bewertung der wav-Datei (Zeilenumbruch)
bw.write(k + "-" + wav.elementAt(k) + "-" + bewertung.elementAt(k) + System.getProperty("line.separator"));
bw.close();
//}
}
catch (IOException f) {
}
}
}
public void windowClosing(WindowEvent e) {
System.exit(0);
}
public void actionPerformed(ActionEvent e) {
System.out.println("Action start window");
_start_window.actionPerformed(e);
System.out.println("Action experiment window");
_exp.actionPerformed(e);
}
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("ProminenceDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Create and set up the content pane.
Prominence newContentPane = new Prominence();
//newContentPane.addActionListener(this);
newContentPane.setMinimumSize(new Dimension(800,600));
newContentPane.setMaximumSize(new Dimension(800,600));
newContentPane.setPreferredSize(new Dimension(800,600));
newContentPane.showStartWindow();
newContentPane.hideExperiment();
newContentPane.setOpaque(true); //content panes must be opaque
newContentPane.setBackground(Color.WHITE);
frame.setContentPane(newContentPane);
//Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String argv[]) {
createAndShowGUI();
//ButtonEx1 be = new ButtonEx1();
}
}