Hi,
Ich hab hier ein Grundgerüst aus Beispielen zusammengesetzt, bei dem der JFileChooser über einen Menüpunkt gestartet werden soll.
Leider bekomme ich nur eine Menge Fehlermeldungen.
Jemand eine Idee, woran das liegen könnte?
Ich hab hier ein Grundgerüst aus Beispielen zusammengesetzt, bei dem der JFileChooser über einen Menüpunkt gestartet werden soll.
Leider bekomme ich nur eine Menge Fehlermeldungen.
Jemand eine Idee, woran das liegen könnte?
Code:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.filechooser.*;
public class Playlist extends JPanel implements ActionListener {
JTextArea output;
JScrollPane scrollPane;
String newline = "\n";
JMenu datei, ausgabe;
JMenuItem oeffnen, ausgeben;
JFileChooser fc;
JMenuBar menuBar;
public JMenuBar createMenuBar() {
menuBar = new JMenuBar();
datei = new JMenu("Datei");
datei.setMnemonic(KeyEvent.VK_A);
datei.getAccessibleContext().setAccessibleDescription(
"Datei");
menuBar.add(datei);
oeffnen = new JMenuItem("oeffnen",
KeyEvent.VK_O);
oeffnen.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_1, ActionEvent.ALT_MASK));
oeffnen.getAccessibleContext().setAccessibleDescription(
"oeffnen");
oeffnen.addActionListener(this);
datei.add(oeffnen);
ausgabe = new JMenu("ausgabe");
ausgabe.setMnemonic(KeyEvent.VK_A);
ausgabe.getAccessibleContext().setAccessibleDescription(
"ausgabe");
menuBar.add(ausgabe);
ausgeben = new JMenuItem("ausgeben",
KeyEvent.VK_A);
ausgeben.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_1, ActionEvent.ALT_MASK));
ausgeben.getAccessibleContext().setAccessibleDescription(
"ausgeben");
ausgeben.addActionListener(this);
ausgabe.add(ausgeben);
return menuBar;
}
public Container createContentPane() {
JPanel contentPane = new JPanel(new BorderLayout());
contentPane.setOpaque(true);
output = new JTextArea(5, 30);
output.setEditable(false);
scrollPane = new JScrollPane(output);
contentPane.add(scrollPane, BorderLayout.CENTER);
return contentPane;
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == oeffnen) {
int returnVal = fc.showOpenDialog(Playlist.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
output.append("geht");
} else {
output.append("Open command cancelled by user." + newline);
}
}
}
private static void createAndShowGUI() {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("MenuDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Playlist demo = new Playlist();
frame.setJMenuBar(demo.createMenuBar());
frame.setContentPane(demo.createContentPane());
frame.setSize(450, 260);
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}