Context Menu
Das Context Menu bietet Nutzern kontextbezogene Aktionen, die abhängig vom gewählten Element oder der aktuellen Position im Interface angezeigt werden können.
Overview
Intro
Das Context Menu ermöglicht dem Nutzer den Zugriff auf kontextbezogene Funktionen, die sich je nach gewähltem Element oder Position im Interface unterscheiden. Es wird typischerweise durch einen Rechtsklick geöffnet und zeigt ein Menü mit relevanten Aktionen an.

Intro
Verwendung
| 👍 Do | 👎 Don't |
|---|---|
| ... wenn kontextbezogene Aktionen zu angeboten werden sollen, die sich je nach ausgewähltem Element unterscheiden (z.B. "Speichern", "Kopieren" oder "Bearbeiten" bei Bildern). ... wenn Aktionen, die selten gebraucht werden, dennoch schnell verfügbar sein müssen. ... wenn mehrere Elemente gleichzeitig markiert werden und gemeinsame Aktionen angeboten werden. | … wenn Hauptfunktionen nicht sichtbar sind und ausschließlich über ein Kontextmenü erreichbar wären. ... wenn 15+ Einträge im Context Menu verwendet werden sollen. Wenn zu viele Optionen vorhanden sind, fasse diese zusammen oder nutze Untermenüs. … wenn wichtige sicherheitsrelevante Aktionen (z. B. „Alle Daten löschen“) versteckt wären, statt mit zusätzlicher Bestätigung im Haupt‑UI angezeigt zu werden. |
Guidelines
Aufbau
Das Context Menu wird derzeit nur in Tabellen eingesetzt. Es kann jedoch auch auf andere native HTML‑Elemente, wie Absätze ( <p> ), angewendet werden. Die angezeigten Aktionen passen sich dynamisch an den jeweiligen Kontext an und ermöglichen eine effiziente, platzsparende Interaktion.

Verwendung in Tabellen
Varianten
Context Menu Items stehen in verschiedenen Varianten zur Verfügung, um unterschiedliche Anwendungsfälle abzudecken. Varianten unterscheiden sich in Funktion oder Interaktionsverhalten. Die Auswahl der passenden Variante hängt vom Kontext ab.
![]() | Default Item Führt beim Anklicken eine Aktion aus und hat keine Auswahlzustände oder Untermenüs. |
![]() | Check Item Ein Menüeintrag mit einem Kontrollhäkchen, das den Zustand einer Option anzeigt (aktiviert/deaktiviert). Kann durch Anklicken umgeschaltet werden. |
![]() | Submenu Item Öffnet durch Anklicken ein weiteres, untergeordnetes Kontextmenü, um zusätzliche, thematisch verwandte Aktionen oder Optionen anzubieten. |
States
Ein Context Menu Item hat verschiedene Zustände.
![]() | Enabled State |
![]() | Hover State |
![]() | Active State |
![]() | Selected State |
![]() | Disabled State |
Barrierefreiheit
Tastaturbedienung
Über die Tastenkombination Shift + F10 lässt sich das Context Menu bei Auswahl eines geeigneten HTML-Elements öffnen. Über die Pfeiltasten lässt sich zwischen den einzelnen Menüeinträgen wechseln.
Spezifische Hinweise
Gesperrte Context Menu Items sollten standardmäßig nicht über die Tastatur fokussierbar sein. Erst wenn der Nutzer entsprechende Einstellungen vornimmt, sollten auch diese in den Fokussierungs-Kreislauf aufgenommen werden.
Develop Vue
Der Showcase ist innerhalb des AKDB Netzwerks zu finden unter:
...
Develop Flow
Der Showcase ist innerhalb des AKDB Netzwerks zu finden unter:
...
Changelog
v1.0
- Veröffentlichung der Komponente
Code Examples
Install
Maven
xml
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-context-menu-flow</artifactId>
</dependency>Import
java
import com.vaadin.flow.component.contextmenu.ContextMenu;
import com.vaadin.flow.component.contextmenu.MenuItem;
import com.vaadin.flow.component.contextmenu.SubMenu;
import com.vaadin.flow.component.html.Paragraph;Variants
Default
Attach a context menu to any component. Right-clicking the target opens the menu.
java
Paragraph target = new Paragraph("Rechtsklick zum Öffnen des Kontextmenüs");
ContextMenu menu = new ContextMenu();
menu.setTarget(target);
menu.addItem("Bearbeiten");
menu.addItem("Kopieren");
menu.addItem("Löschen");With Sub Menu
java
ContextMenu menu = new ContextMenu();
menu.setTarget(target);
menu.addItem("Erstellen");
SubMenu exportMenu = menu.addItem("Exportieren").getSubMenu();
exportMenu.addItem("Als PDF");
exportMenu.addItem("Als Excel");
menu.addItem("Löschen");With Disabled Item
java
ContextMenu menu = new ContextMenu();
menu.setTarget(target);
menu.addItem("Bearbeiten");
menu.addItem("Löschen").setEnabled(false);With Separator
java
import com.vaadin.flow.component.html.Hr;
ContextMenu menu = new ContextMenu();
menu.setTarget(target);
menu.addItem("Bearbeiten");
menu.addItem(new Hr());
menu.addItem("Löschen");






