Hi,
ich hoffe mal, dass ich hier richtig bin.
Ich muss für die Uni ein "kleines" JavaProjekt machen und ich hab mir einen MP3 Player rausgesucht.
Das Grundlayout hab ich auch schon und der "Eject"Button geht auch schon. Ich hab auch eine Player Demo aber ich bekomme die einfach nicht eingebunden. Hab auch schon andere FileChooser aus BÜchern probiert aber ausser Fehlermeldungen hat es nichts gebracht.
Ich programmiere mit Eclipse Build id: 20090920-1017 auf eiben Mac.
Hier die Klasse mit der ich das Fenster "mache"
Hier der FileChooser
Und die PlayerDemo
Ich hoffe, das ist jetzt nicht zuviel Code..
Danke für Tipps
ich hoffe mal, dass ich hier richtig bin.
Ich muss für die Uni ein "kleines" JavaProjekt machen und ich hab mir einen MP3 Player rausgesucht.
Das Grundlayout hab ich auch schon und der "Eject"Button geht auch schon. Ich hab auch eine Player Demo aber ich bekomme die einfach nicht eingebunden. Hab auch schon andere FileChooser aus BÜchern probiert aber ausser Fehlermeldungen hat es nichts gebracht.
Ich programmiere mit Eclipse Build id: 20090920-1017 auf eiben Mac.
Hier die Klasse mit der ich das Fenster "mache"
Java:
import javax.swing.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.Manager;
import javax.media.Player;
import javax.media.RealizeCompleteEvent;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class newWindow extends JFrame
{
protected static final long serialVersionUID = 1;
protected ImageIcon play = new ImageIcon(newWindow.class.getResource("play.png"));
protected ImageIcon stop = new ImageIcon(newWindow.class.getResource("stop.png"));
protected ImageIcon pause = new ImageIcon(newWindow.class.getResource("pause.png"));
protected ImageIcon eject = new ImageIcon(newWindow.class.getResource("eject.png"));
private JButton buttonplay = new JButton (play);
private JButton buttonstop = new JButton (stop);
private JButton buttonpause = new JButton (pause);
private JButton buttoneject = new JButton (eject);
// private JPanel panel;
public newWindow()
{
super("Fenster");
setSize(700,200); // Fenster Größe
setLocation(300,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Schließe Fenster und Programm beim beenden
setLayout(null);
int buttonx=100;
int buttony=110;
int buttonw=48;
int buttonh=48;
buttonstop.setBounds(200, buttony, buttonw, buttonh);
buttonstop.setBorder(null);
buttoneject.setBounds(50, buttony, buttonw, buttonh);
buttoneject.setBorder(null);
buttonplay.setBounds(buttonx, buttony, buttonw, buttonh);
buttonplay.setBorder(null);
buttonpause.setBounds(150, buttony, buttonw, buttonh);
buttonpause.setBorder(null);
add(buttonstop);
add(buttoneject);
buttoneject.setActionCommand("Öffnen");
add(buttonplay);
buttonplay.setActionCommand("Start");
add(buttonpause);
// Menü-Leiste
MenuBar mb = new MenuBar();
// Ein Menü
Menu m1 = new Menu("Datei");
mb.add(m1);
// Menüeinträge
MenuItem oeff = new MenuItem("Öffnen");
MenuItem schl = new MenuItem("Schließen");
// Menue Action
MenueSchliessenService menueSchliessen = new MenueSchliessenService(this);
schl.addActionListener(menueSchliessen);
// Datai auswählen
OeffnenDialogClass odc = new OeffnenDialogClass();
oeff.addActionListener(odc);
// Datei abspielen
// MediaPlayerDemo mpd = new MediaPlayerDemo();
// start.addActionListener(mpd);
setMenuBar(mb);
m1.add(schl);
m1.add(oeff);
// Actionlistener für die Buttons
buttoneject.addActionListener(odc);
// buttonplay.addActionListener(mpd);
}
}
Hier der FileChooser
Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.File;
import javax.swing.JFileChooser;
public class OeffnenDialogClass implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
String befehl = ae.getActionCommand();
if (befehl.equals("Öffnen"))
{
final JFileChooser chooser = new JFileChooser("Verzeichnis wählen");
chooser.setDialogType(JFileChooser.OPEN_DIALOG);
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
final File file = new File("/home/usr");
chooser.setCurrentDirectory(file);
chooser.addPropertyChangeListener(new PropertyChangeListener()
{
public void propertyChange(PropertyChangeEvent e)
{
if (e.getPropertyName().equals(JFileChooser.SELECTED_FILE_CHANGED_PROPERTY)
|| e.getPropertyName().equals(JFileChooser.DIRECTORY_CHANGED_PROPERTY))
{
final File g = (File) e.getNewValue();
}
}
});
chooser.setVisible(true);
final int result = chooser.showOpenDialog(null);
if (result == JFileChooser.APPROVE_OPTION)
{
File inputVerzFile = chooser.getSelectedFile();
String inputVerzStr = inputVerzFile.getPath();
System.out.println("Eingabepfad:" + inputVerzStr);
}
System.out.println("Abbruch");
chooser.setVisible(false);
}
}
}
Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.Manager;
import javax.media.Player;
import javax.media.RealizeCompleteEvent;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class MediaPlayerDemo extends JFrame
{
private Player player;
private File file;
public MediaPlayerDemo()
{
super("Demonstrating the Java Media Player");
JButton openFile = new JButton("Open file to play");
openFile.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
openFile();
createPlayer();
}
});
getContentPane().add(openFile, BorderLayout.NORTH);
setSize(300, 300);
show();
}
private void openFile()
{
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
int result = fileChooser.showOpenDialog(this);
// user clicked Cancel button on dialog
if (result == JFileChooser.CANCEL_OPTION)
file = null;
else
file = fileChooser.getSelectedFile();
}
private void createPlayer()
{
if (file == null)
return;
removePreviousPlayer();
try {
// create a new player and add listener
player = Manager.createPlayer(file.toURL());
player.addControllerListener(new EventHandler());
player.start(); // start player
} catch (Exception e)
{
JOptionPane.showMessageDialog(this, "Invalid file or location",
"Error loading file", JOptionPane.ERROR_MESSAGE);
}
}
private void removePreviousPlayer()
{
if (player == null)
return;
player.close();
Component visual = player.getVisualComponent();
Component control = player.getControlPanelComponent();
Container c = getContentPane();
if (visual != null)
c.remove(visual);
if (control != null)
c.remove(control);
}
public static void main(String args[])
{
MediaPlayerDemo app = new MediaPlayerDemo();
app.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
// inner class to handler events from media player
private class EventHandler implements ControllerListener
{
public void controllerUpdate(ControllerEvent e)
{
if (e instanceof RealizeCompleteEvent)
{
Container c = getContentPane();
c.setBackground(new Color(255, 255, 204));
// load Visual and Control components if they exist
Component visualComponent = player.getVisualComponent();
if (visualComponent != null)
c.add(visualComponent, BorderLayout.CENTER);
c.setBackground(new Color(255, 255, 204));
Component controlsComponent = player.getControlPanelComponent();
if (controlsComponent != null)
c.add(controlsComponent, BorderLayout.SOUTH);
c.doLayout();
}
}
}
}
Ich hoffe, das ist jetzt nicht zuviel Code..
Danke für Tipps