Einzelnen Beitrag anzeigen
Ungelesen 23.06.10, 15:37   #8
Afro
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 10
Bedankt: 0
Afro ist noch neu hier! | 0 Respekt Punkte
Standard

Wenn ich dich richtig verstanden habe , willst du wissen wie man generell auf Button-Events reagiert.
Normalerweise benutzt man in Java dafür einen ActionListener, es gibt zwar verschiedene richtige Wege diesen zu implementieren aber für genaueres kannst du ja bei Bedarf NAchlesen.
Da ich bei mir an der Uni ein Tutorium in Objektorientierter Pogrammierung gebe hab ich einige Beispiele dazu, eines davon hab ich mal für dich soweit umgeschrieben das bei Knopfdruck eine Wav abgespielt wird. Hoffe das löst dein Problem komplett.
Zitat:
import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.filechooser.FileNameExtensionFilter;

public class Player
extends JFrame
implements ActionListener {
private static final long serialVersionUID = 1L;

public Player() {
super();
createAll();
setVisible(true);
}

private void createAll() {
// Create Objects
setTitle("WavPlayer");
JButton playButton = new JButton("Play");
JButton endButton = new JButton("End");
Container content = getContentPane();
// Add listeners
playButton.setActionCommand("play");
endButton.setActionCommand("end");
playButton.addActionListener(this);
endButton.addActionListener(this);
// Organize layout
setSize(300, 200);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
content.setLayout(new GridBagLayout());
GridBagConstraints constraints = new GridBagConstraints();
constraints.fill = GridBagConstraints.BOTH;
constraints.weightx = 1; constraints.weighty = 1;
constraints.insets = new Insets(5, 5, 5, 5);
content.add(playButton, constraints);
constraints.gridy = 1; constraints.weighty = 0;
content.add(endButton, constraints);
}

@Override
public void actionPerformed(ActionEvent event) {
String command = event.getActionCommand();
if(command.equals("play")) {
JFileChooser fileChooser = new JFileChooser();
fileChooser.setCurrentDirectory(new File("."));
fileChooser.setDialogTitle("Datei öffnen");
FileNameExtensionFilter filter = new FileNameExtensionFilter(".wav", "wav");
fileChooser.setFileFilter(filter);
int selected = fileChooser.showDialog(this, "Öffnen");
if (selected == JFileChooser.APPROVE_OPTION)
new AePlayWave(fileChooser.getSelectedFile().getAbsolu tePath()).start();

}
else if(command.equals("end")) {
dispose();
System.exit(0);
}
}

public static void main(String[] args) {
new Player();
}
}
Afro ist offline   Mit Zitat antworten