Möglichkeit Ordnerinhalte aufzulisten

Status
Nicht offen für weitere Antworten.

Rave

Bekanntes Mitglied
Hey,
Ich suche eine Möglichkeit wie ich die .mp3 Datein aus einem Ordner in meinem Frame auflisten lassen kann:

Ich habe was von file.listFiles(); gelesen!? Aber ich weiss nich genau wie ich dieses anwende.
Und eine weitere Frage die ich mir dabei stelle: Wie kriege ich es hin das mein AudioPlayer, den ich schon programmiert habe, wenn man auf einen der Angezeigten mp3 Datein anklicke diese "bekommt" um sie abzuspielen.
Bin grade dabei inner Insel nachzulesen aber komm noch nich sooo gut vorran !!! :rtfm:
 

Atze

Top Contributor
File[] files = file.listFiles();

gibt dir n array aus fileobjekten zurück, über die du dann iterieren kannst.

wenn du diese "anklickst", musst du das entsprechende file laden
 

Stefoan

Mitglied
Java:
package test;

import java.awt.BorderLayout;
import java.io.File;
import java.io.FileFilter;

import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

public class MP3Player extends JFrame implements ListSelectionListener {

	private File[] mp3Files;

	private File directory;
	
	private JList mp3List;
	
	public MP3Player() {

		this.directory = new File("D:/Meine Musik/");
		if (!directory.isDirectory()) {
			System.err.println("Dies ist kein Verzeichnis: " + directory);
		}

		this.setTitle("MP3 Player");
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.setLocationRelativeTo(null);
		this.setSize(200, 200);
		this.setLayout(new BorderLayout());

		mp3Files = readDirectory();

		mp3List = new JList(mp3Files);
		mp3List.setSelectedIndex(0);
		mp3List.addListSelectionListener(this);

		JScrollPane scroll = new JScrollPane(mp3List);
		this.add(scroll, BorderLayout.CENTER);

		this.validate();
		this.setVisible(true);
	}

	private File[] readDirectory() {
		File[] files = directory.listFiles(new FileFilter() {
			@Override
			public boolean accept(File currentFile) {
				return currentFile.getName().toLowerCase().endsWith(".mp3");
			}
		});
		return files;
	}

	public static void main(String[] args) {
		new MP3Player();
	}

	@Override
	public void valueChanged(ListSelectionEvent e) {
		File mp3ToPlay = new File(mp3List.getSelectedValue().toString());
		this.play(mp3ToPlay);
	}

	private void play(File mp3) {
		System.out.println(mp3.getName());
	}
}
 

Rave

Bekanntes Mitglied
File[] files = file.listFiles();

gibt dir n array aus fileobjekten zurück, über die du dann iterieren kannst.

wenn du diese "anklickst", musst du das entsprechende file laden

Das klingt schon mal nach was :) und genau das hatte ich mir shconmal angeschaut :)
Ich hab ja in meiner Klasse soundLib eine Methode loadMp3 kann ich dieser das irgenwie direkt übergeben oder Muss ich das mit ner Maus Abfrage machen ???
 

Rave

Bekanntes Mitglied
Also ich hab mal das gepostete Beispiel benutzt !!!!

Und ich habe wegen:
package test;

Einen NullPointer was muss ich dort denn hinschreiben ???? Oder was muss ich ändern ?? ???:L

java.lang.NoClassDefFoundError: test/MP3Player
Caused by: java.lang.ClassNotFoundException: test.MP3Player
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: test.MP3Player. Program will exit.
Exception in thread "main"
 

Stefoan

Mitglied
Das Package ist einfach der Ordner, in dem Deine Klassen liegen, z.B. src/test/MP3Player.java. Kannst die Zeile löschen, dann müsste es gehen.

Gruß Stefan
 

Rave

Bekanntes Mitglied
Dann wurden deine Dateien nicht gefunden... ist eben Quick & Dirty :). Poste mal deinen Pfad.

Pfad klappt jetzt ;-) ehm...wie schreib ich ne Methode das der die Mp3 Datein dann auch abspielt ?? Muss ich das über meine eigene soundLib machen ??? Die kann Mp3's abspielen oder muss ich das in der Klasse selbst noch irgendwie hinzufügen !!!

Kenn mich mit Listeners und JComponenten leider noch nicht so aus ;( bin aber dabei ^^ :rtfm:
 

Rave

Bekanntes Mitglied
How to Play an MP3 File in Java

Lad Dir da die jl1.0.jar herunter, leg sie in den Klassenpfad und ergänz deine play()-Methode. Im Anhang eine funktionierende Version, allerdings immer nur eine abspielen, sonst gibts nen krassen Remix :D

Gruß Stefan

Ach en krasser Remix hat was hab ich mit meiner eigenen Klasse auch schon :-D nur das die nich mehr für das reicht was ich vorhabe :-D xD

Ich Probiers mal ;-) meld mich dann noch mal
 

Rave

Bekanntes Mitglied
Kann ich diese JList eingrenzen ?? Also so ne Art Rahmen rum ziehen ?? Denn ich würde gerne noch ein paar Dinge in diesem Frame einfügen, also Zeichnen und Jpegs Anzeigen damit das nach was aussieht ???
Oder dann zu Hilfe für mich noch en Tutorial ??? Google spuckt heute bei mir nur Mist aus :lol:


EDIT:
Ne andere möglichkeit wäre das ich das in meinen Eigenen Frame mit integriere ??? Wär das komplizierter ???? Und was brauche ich dann davon ??
 
Zuletzt bearbeitet:

Stefoan

Mitglied
Rahmen gibts mit list.setBorder(...), Border gibts in der BorderFactory.create...(). Bilder kannst Du anzeigen, indem Du in der relevanten Componente die paint()-Methode überschreibst.

Gruß Stefan
 

Rave

Bekanntes Mitglied
Rahmen gibts mit list.setBorder(...), Border gibts in der BorderFactory.create...(). Bilder kannst Du anzeigen, indem Du in der relevanten Componente die paint()-Methode überschreibst.

Gruß Stefan

So den Rahmen hab ich ;-) kann ich den begrenzen ??? Also so das auch die JList davon richtig begrezt wird ?? Weil wenn ich das Fenster maximiere dann wird der Rahmen daran angepasst!!!! Kann ich das verhindern ???
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Möglichkeit, mit g.draw etwas vor ein JTextfield zu „zeichnen“? Java Basics - Anfänger-Themen 7
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
S Gibt es irgendeine Möglichkeit, dies zu tun?(Android Studio) Java Basics - Anfänger-Themen 1
C Problem: PC ohne Internet und keine Möglichkeit Programme zu laden Java Basics - Anfänger-Themen 5
G Möglichkeit zum Auslesen von Webseiten gesucht. Java Basics - Anfänger-Themen 10
H Best Practice Alternative Möglichkeit, um Eingaben vorzunehmen Java Basics - Anfänger-Themen 13
H Möglichkeit, mehrere Element zu speichern Java Basics - Anfänger-Themen 8
M Möglichkeit Einstellungen zu speichern und abzurufen Java Basics - Anfänger-Themen 7
R Sehr einfache möglichkeit ArrayList oder Array zu initialisieren? Java Basics - Anfänger-Themen 8
S 2 kurz Fragen zur Möglichkeit der Programmierung Java Basics - Anfänger-Themen 7
J Gibt es eine möglichkeit ähnlich wie .equals(bedingung1 ||bedingung ..n) ? Java Basics - Anfänger-Themen 5
manunana89 Bilder auf JFrame/beste Möglichkeit??? Java Basics - Anfänger-Themen 5
G Möglichkeit zum Zusammenfassen der if-Funktion Java Basics - Anfänger-Themen 5
G Gibt es eine möglichkeit den Wochentag herauszufinden? Java Basics - Anfänger-Themen 28

Ähnliche Java Themen

Neue Themen


Oben