Hallo,
ich versuche momentan ein Kontextmenü zu erstellen.
Dazu soll das Kontextmenü auf meinem Panel dort erscheinen, wo ich auch mit meiner Maus einen Rechtsklick getan habe.
Wie es auch bei Windows zum Beispiel der Fall ist.
Das PopupMenü bekomme ich angezeigt, jedoch nur auf einem bestimmen Punkt und nicht variabel, je nachdem wo man draufdrückt auf dem Panel.
Mein zweites Problem ist, dass ich zum Popupmenü 2 JMenü's zur Auswahl habe. Unter einem der Menü's habe ich noch 3 JMenüItems erstellt. Diese werden jedoch nicht angezeigt.
Hoffe einer von euch kennt den Codefragment, der fehlt.
ich versuche momentan ein Kontextmenü zu erstellen.
Dazu soll das Kontextmenü auf meinem Panel dort erscheinen, wo ich auch mit meiner Maus einen Rechtsklick getan habe.
Wie es auch bei Windows zum Beispiel der Fall ist.
Das PopupMenü bekomme ich angezeigt, jedoch nur auf einem bestimmen Punkt und nicht variabel, je nachdem wo man draufdrückt auf dem Panel.
Mein zweites Problem ist, dass ich zum Popupmenü 2 JMenü's zur Auswahl habe. Unter einem der Menü's habe ich noch 3 JMenüItems erstellt. Diese werden jedoch nicht angezeigt.
Java:
public static void gui() {
meinFrame.setSize(400, 400); // Größe Frame
meinPanel.setLayout(null);
meinPanel.addMouseListener(new MouseAdapter() { // Auf Panel Mouse-listener
@Override
public void mouseClicked(MouseEvent e) {
if (SwingUtilities.isRightMouseButton(e) && e.getClickCount() == 1) { // bei rechsklick
kontextmenu(); // ausführen
}
}
});
meinFrame.add(meinPanel);
meinFrame.setVisible(true);
meinFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void kontextmenu() { // Methode Kontextmenü
JMenu menu = new JMenu("Menü");
JMenuItem menuItem1 = new JMenuItem("Einstellungen");
JMenuItem menuItem2 = new JMenuItem("Bearbeiten");
JMenuItem menuItem3 = new JMenuItem("Ansicht");
JMenu menu2 = new JMenu("Neu erstellen");
menu.add(menuItem1);
menu.add(menuItem2);
menu.add(menuItem3);
//menu.setVisible(true);
//menu.isShowing();
JPopupMenu popupMenu = new JPopupMenu();
popupMenu.add(menu);
popupMenu.add(menu2);
popupMenu.setVisible(true);
public static void main(String[] args) {
gui();
}
}
Hoffe einer von euch kennt den Codefragment, der fehlt.