Hallo Leute,
ich habe ein JFrame indem eine MenueBar ist jetzt wollte ich fragen ob man die MenueBar per Tastendruck ausblenden bzw. einblenden kann ? Habe bereits ein Code erstellt der per Tastenkombination JFrames einblendet.
KeyStroke F10 = KeyStroke.getKeyStroke(KeyEvent.VK_F10, InputEvent.CTRL_MASK);
option.setAccelerator(F10);
option.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent actionEvent) {
option o = new option();
o.setVisible(false);
}
});
}```
danke erstmal für die schnelle antwort
leider funktioniert es nicht
menuebar.setAccelerator(F2);
menuebar.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent actionEvent) {
menuebar al = new menuebar();
al.setVisible(false);
}
});```
was mach ich falsch ?
Der Code in Zeile 6 und 7 ist eigentlich nutzlos. Hier wird ein Objekt vom Typ menuebar (Klassennamen schreibt man groß und warum nicht JMenuBar()) erzeugt und unsichtbar gesetzt. Aber nirgends verwendet. Das Objekt wird nach ausführen der actionPerformed Methode vom GC wieder “entsorgt”.
Ist “menuebar” in Zeile 2 eine Variablenbezeichner oder die in Zeile 6 verwendete Klasse?
hmm, die beiden Zeilen kamen nun aber aus DEINEM Code-Beispiel ganz am Anfang … :rolleyes:
Leider wird in Deinem Bild ja auch ein Teil des Codes verdeckt
Ich wollte eigentlich auch nur auf diese Anpassung im actionPerformed hinweisen:
@Override
public void actionPerformed(ActionEvent actionEvent)
{
menubar.setVisible(false); // KEIN neues Objekt !!!
}
die Fehlermeldungen betreffen doch ganz andere Methoden,
eine MenuBar selber kann keinen ActionListener haben und keinen Accelerator, was immer das sein soll,
nach API bzw. bei dir hoffentlich schon längst bekannt eine Methode von JMenu/ JMenuItem
nicht wild Befehle hin und her schmeißen, sondern überlegen, wer ist da, wer soll was machen,
was bringt dir ein ActionListener in einer MenuBar, wo soll man da klicken?
alles erstmal vorstellen