ich hab diese klasse mit einem JFrame dieses JFrame hat eine menü bar in dem sind einige JMenuItems es wird alles korrekt angezeigt und bei einem davon funktonirt das auch und kurz nachdem ich die menü bar fertig hatte hat es auch funktonirt warum geht das jetzt nicht mehr code folgt
die variable namens menuopen funktonirt so wie sie soll b.z der actionlistener darauf
und es werden JFrame extended und ActionListener implemented
Java:
//definitionen
JTextArea edit = new JTextArea();
JMenuBar menuBar;
JMenu menu;
JMenuItem menuopen;
JMenuItem menusave;
JMenuItem menunew;
JMenuItem menuexit;
//override actionevent funktion
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == menuopen) {
JFileChooser chooser = new JFileChooser();
int rueckgabeWert = chooser.showOpenDialog(null);
if(rueckgabeWert == JFileChooser.APPROVE_OPTION)
{
filetoopen = chooser.getSelectedFile().getPath();
Path path = Paths.get(filetoopen);
List<String> allLines = null;
try {
allLines = Files.readAllLines(path, Charset.forName("ISO-8859-1"));
} catch (IOException e1) {
e1.printStackTrace();
}
edit.setText("");
for(int i = 0; i < allLines.size(); i++) {
edit.append(allLines.get(i) + "\n");
}
}
if(e.getSource() == menusave) {
System.out.println(edit.getText());
}
if(e.getSource() == menunew) {
System.out.println("new");
}
if(e.getSource() == menuexit) {
closew();
}
}
}
//erstellen der jmenuitems und der menü bar
//Create the menu bar.
menuBar = new JMenuBar();
//Build the first menu.
menu = new JMenu("Datei");
menu.setMnemonic(KeyEvent.VK_A);
menu.getAccessibleContext().setAccessibleDescription("bar not rly but thats fine");
menuBar.add(menu);
menusave = new JMenuItem("Save File",KeyEvent.VK_S);
menusave.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, ActionEvent.ALT_MASK));
menusave.getAccessibleContext().setAccessibleDescription("saves the current file");
menusave.addActionListener(this);
menu.add(menusave);
menuopen = new JMenuItem("open",KeyEvent.VK_T);
menuopen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.ALT_MASK));
menuopen.getAccessibleContext().setAccessibleDescription("open file");
menuopen.addActionListener(this);
menu.add(menuopen);
menunew = new JMenuItem("new File",KeyEvent.VK_K);
menunew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_3, ActionEvent.ALT_MASK));
menunew.getAccessibleContext().setAccessibleDescription("new File");
menunew.addActionListener(this);
menu.add(menunew);
menuexit = new JMenuItem("exit",KeyEvent.VK_ESCAPE);
menuexit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_4, ActionEvent.ALT_MASK));
menuexit.getAccessibleContext().setAccessibleDescription("exit");
menuexit.addActionListener(this);
menu.add(menuexit);
//mit dieser linie füge ich die menü bar dem JFrame zu
this.setJMenuBar(menuBar);
/*
* die closew funktion sagt nur this.dispose();
*/
und es werden JFrame extended und ActionListener implemented