JFileChooser öffnet sich drei mal

Hallo,
ich hab da ein Problem.

Ich bin grad dabei einen Musik Player zu schreiben, dabei tritt aber ein Problem auf. Hier erstmal der Code:

[JAVA=290]
public void menuItemOeffnen_ActionPerformed(ActionEvent evt)
{
fileChooserOeffnen.setFileSelectionMode(JFileChooser.FILES_ONLY);
int returnVal = fileChooserOeffnen.showOpenDialog(MediaPlayer.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
try
{
stop();
}
catch(Exception e)
{

}
try
{
player = new Player(fileChooserOeffnenOpenFilename());
player.laden(tracknummer);
player.volume((double)sliderVolume.getValue()/100);
}
catch(Exception e)
{

}
}
}
[/code]

So. Ich klicke auf das Menü Item "Öffnen", daraufhin öffnet sich auch ganz korrekt der FileChooser. Wenn ich jetzt aber eine richtige Datei auswähle und öffnen klicke, öffnet sich der FleChooser nochmal und nichts passiert. Erst beim dritten mal "OK" lädt er dann die Datei, danach funktioniert auch so weit alles korrekt. Nur warum nimmt er das beim ersten mal nicht an? Ich hab auch herausgefunden, dass wenn ich beim ersten mal "Abbrechen" drücke, er das Fenster ganz normal schließt. Wenn ich aber zuerst "OK", dann beim zweiten mal Abbrechen" drücke, geht das Fenster trotzdem das dritte mal wieder auf.

Ich hoffe, ihr könnt mir helfen. Danke für eure Hilfe.

MfG,
PattXterminator
 
S

SlaterB

Gast
das erste mal hängt sicher mit Zeile 293 zusammen

und was steht dann in Zeile 305:
> player = new Player(fileChooserOeffnenOpenFilename());

was das bedeutet kann mangels Code niemand wissen, für mich klingt das im Zusammenhang mit 'es öffnen sich noch mehr FileChooser' extremst verdächtig ;)

poste diese Methode oder gleich ein vollständiges Programm von main-Methode an, sonst kann man ja nur rumraten,
aber bitte nicht mit 300 Zeilen insgesamt

------

edit:
> catch(Exception e)
> {
>
> }

ist generell sehr schlecht,
es ist verständlich, wenn du IOException usw nicht lesen willst, aber auf diesem Weg siehst du nichtmal wenn irgendwo eine einfache NullPointerException stattfindet
 
Zuletzt bearbeitet von einem Moderator:
Hmm okay, ich versuch mal das nötigste an Code zu posten.

Über die Code-Zeile
Java:
player = new Player(fileChooserOeffnenOpenFilename());
Wird die Datei, die aus dem FileChooser gewählt wurde, ganz einfach dem Musik Player übergeben, der die Datei dann ganz simpel abspielt. Meiner Meinung nach hat das ganze dann wenig mit dem erneuten Öffnen zu tun. Der Player sieht so aus:
Java:
public Player(String clip)
    throws UnsupportedAudioFileException, IOException, LineUnavailableException
    {
        try {
            File audioFile = new File(clip);
            soundStream = AudioSystem.getAudioInputStream(audioFile);
            AudioFormat streamFormat = soundStream.getFormat();
            DataLine.Info clipInfo = new DataLine.Info(Clip.class, streamFormat);
            soundClip = (Clip) AudioSystem.getLine(clipInfo);
            soundClip.open(soundStream);
        }
        catch (UnsupportedAudioFileException e) { }
        catch (IOException e) { }
        catch (LineUnavailableException e) { }
    }

Das wird dann mittels der start() Methode nur noch gestartet, weiter ist das nichts.

Der Code-Auszug aus meinem ersten Post stammt aus meiner GUI, wo durch das "Öffnen" MenuItem einfach nur der neue Player mit der Datei erzeugt wird.

Hier ist noch mal die Methode, die mir den Dateipfad als String wiedergiebt, vielleicht hat es ja damit etwas auf sich:
Java:
public String fileChooserOeffnenOpenFilename() {
    fileChooserOeffnen.setDialogTitle("Öffne Datei");
    if (fileChooserOeffnen.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
      return fileChooserOeffnen.getSelectedFile().getPath();
    } else {
      return null;
    }
  }


MfG,
PattXterminator
 

eRaaaa

Top Contributor
In Zeile 3 in fileChooserOeffnenOpenFilename() öffnest du doch nochmal den Dialog:
Java:
 if (fileChooserOeffnen.showOpenDialog(this)

Wieso schreibst du nicht schon in der action direkt:
Java:
player = new Player(fileChooserOeffnen.getSelectedFile().getPath());

?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Programm welches auf CMD basirende Programme öffnet (Notepad), sucht , ausführt und compiliert Spiele- und Multimedia-Programmierung 23
xFearofdarkness Feinde überlappen sich in Java Spiel Spiele- und Multimedia-Programmierung 3
K Mein Jump and Run charakter bewegt sich nicht mehr rückwärts... Spiele- und Multimedia-Programmierung 0
R Memory - Nicht alle Button lassen sich aktivieren? Spiele- und Multimedia-Programmierung 1
P Sich bewegende Kamera Spiele- und Multimedia-Programmierung 12
I Wo befindet sich ein Punkt? Spiele- und Multimedia-Programmierung 6
N der Player bewegt sich nicht Spiele- und Multimedia-Programmierung 14
R Game Loop verhält sich eigenartig Spiele- und Multimedia-Programmierung 1
A Spielball bewegt sich nicht richtig, prallt falsch ab Spiele- und Multimedia-Programmierung 7
Blender3D VLCJ Video lässt sich nicht mehr abspielen nach mysql Installation Spiele- und Multimedia-Programmierung 1
Androbin Mein Spiel will sich nicht zeichnen lassen !!! Spiele- und Multimedia-Programmierung 7
S Animation zieht "Spur" hinter sich her Spiele- und Multimedia-Programmierung 2
M Bildschirmgröße ändert sich Spiele- und Multimedia-Programmierung 10
M Würdet ihr sagen Java Applets eignen sich gut Spiele- und Multimedia-Programmierung 5
J Java3D - Farben vermischen sich Spiele- und Multimedia-Programmierung 7
E [LWJGL] Karusell, mehrere Objekte drehen sich um einen Mittelpunkt Spiele- und Multimedia-Programmierung 31
CookieSoft 3D Würfel will sich nicht drehen! [LWJGL] Spiele- und Multimedia-Programmierung 2
M Beim schießen richtet sich die Kugel nach der Maus aus (Quaternion) Spiele- und Multimedia-Programmierung 5
J Pufferproblem bei sich wiederholenden MouseEvents Spiele- und Multimedia-Programmierung 4
T JOGL im OrthoMode und Texturen verfärben sich Spiele- und Multimedia-Programmierung 3
S Programm hängt sich auf wenn Lied abspielt Spiele- und Multimedia-Programmierung 4
W 2 Bälle, die sich abstoßen Spiele- und Multimedia-Programmierung 24
F RPG - Spielfigur soll sich nicht frei bewegen können. Anregugen wären gerne gesehen^^ Spiele- und Multimedia-Programmierung 13
Ivan Dolvich [LWJGL] Texturen überlagern sich Spiele- und Multimedia-Programmierung 2
Dragonfire Java Sound API - Lautstärke ändert sich nicht Spiele- und Multimedia-Programmierung 2
H Jogl-Animator - Inhalt ändert sich nicht Spiele- und Multimedia-Programmierung 4
M Sich nach links verschiebendes Bild Spiele- und Multimedia-Programmierung 2
L Figur soll sich selbständig Bewegen Spiele- und Multimedia-Programmierung 12
S Polygon bewegt sich nach mehreren aufrufen immer schneller Spiele- und Multimedia-Programmierung 3
B Bounds drehen sich nicht mit.... Spiele- und Multimedia-Programmierung 7
R Eignet sich Java für ein Beat'em'Up? Spiele- und Multimedia-Programmierung 3
R Kreuz lässt sich nicht zeichnen Spiele- und Multimedia-Programmierung 11

Ähnliche Java Themen

Neue Themen


Oben