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();
}
}
|