JPopupMenu unter einem Schalter darstellen

Status
Nicht offen für weitere Antworten.

Firefork

Mitglied
Hallo,

ich möchte erreichen, dass nach Anklicken eines Buttons ein Popup-Menü direkt darunter angezeigt wird. Ich habe dies auch schon hinbekommen:

btnhinzufuegen.png


und hier der Code:

Code:
        popupHinzufuegen.show(btnDatenHinzufuegen,
            btnDatenHinzufuegen.getX()-12,
            btnDatenHinzufuegen.getY()+btnDatenHinzufuegen.getHeight());

Jetzt habe ich noch zwei weitere Buttons ("Standort" und "Kostenstelle") hinzugefügt, zwei neue JPopupMenu's erstellt und den gleichen Code (natürlich mit den neuen Buttons und PopupMenus) verwendet, doch da erscheint mein das Popup-Menü außerhalb des Fensters :bahnhof:

btnstandort.png


Nach habe noch eine andere Methode probiert um an die X- und Y-Position zu kommen, doch keine Variante führt zum Erfolg. Hier der Code:

Code:
    private void btnKostenstelleActionPerformed(java.awt.event.ActionEvent evt) {                                                

        Point p = btnKostenstelle.getLocation();
        Dimension d = btnKostenstelle.getSize();
        
        System.out.println(p.x);
        System.out.println(p.y);
        
        popupKostenstelle.show(btnKostenstelle,p.x,p.y+d.height);
        
    }                                               

    private void btnStandortActionPerformed(java.awt.event.ActionEvent evt) {                                            

        popupStandort.show(btnStandort,
            btnStandort.getX()-12,
            btnStandort.getY()+btnStandort.getHeight());
        
    }

Erstellt ist das Projekt in NetBeans 5.5.1 und das Formular wurde mit Mattise designed. Hier der Auszug der Button-Erstellung:

Code:
        btnStandort = new javax.swing.JButton();
        btnKostenstelle = new javax.swing.JButton();
...
        paneObenLayout.setVerticalGroup(
            paneObenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(paneObenLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(paneObenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel5)
                    .addComponent(edtBezeichnung, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(paneObenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel6)
                    .addComponent(edtStandort, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnStandort))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(paneObenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel7)
                    .addComponent(edtKostenstelle, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnKostenstelle))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(paneObenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel8)
                    .addComponent(edtTelefon, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(20, Short.MAX_VALUE))
        );
        add(paneOben, java.awt.BorderLayout.NORTH);

Vielleicht habt Ihr ja eine Lösung.

Gruß
Andreas
 

kleiner_held

Top Contributor
1. Wieso nimmst du keine JComboBox?
2. Die Methode show(Component invoker, int x, int y), des JPopupMenus interpretiert das x und y immer relativ zu der Position der Komponente.
Also wäre:
Code:
popupHinzufuegen.show(btnDatenHinzufuegen,
            0,
            btnDatenHinzufuegen.getHeight());
wahrscheinlich das was du willst.
 

Firefork

Mitglied
Hallo kleiner_held,

vielen Dank für Deine schnelle Antwort.

zu 1.) Das Textfeld durch eine ComboBox auszustauschen, ein anderes Icon in der ComboBox zu verwenden und statt einer Auswahl der Werte ein Menü anzeigen... ist auch schlecht. Schaue ich mir mal an. Danke für die Idee.

zu 2.) Danke, hat funktioniert. :D

Gruß
Andi
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Wie adde ich ein JPopUpMenu AWT, Swing, JavaFX & SWT 3
Nabbit Über JList kein JPopupMenu AWT, Swing, JavaFX & SWT 2
P Event Handling Listener beim öffnen von einem JPopupMenu AWT, Swing, JavaFX & SWT 3
M Accelerator zu JMenuItem des JPopupMenu einer JList AWT, Swing, JavaFX & SWT 2
M JPopupMenu per Klick schließen und gleichzeitig ActionEvent auf JButton? AWT, Swing, JavaFX & SWT 15
S Swing JPopupMenu visible AWT, Swing, JavaFX & SWT 4
S JPopupMenu schließen in SystemTray AWT, Swing, JavaFX & SWT 2
xehpuk Swing Listener für JPopupMenu AWT, Swing, JavaFX & SWT 3
hdi Workaround: TrayIcon & JPopupMenu AWT, Swing, JavaFX & SWT 3
K Swing Listener bei JPopupMenu AWT, Swing, JavaFX & SWT 9
S JPopupMenu oder JCombobox die JList oeffnet..? AWT, Swing, JavaFX & SWT 7
A Swing in JPopupMenu die JRadioButtonMenuItems durchlaufen AWT, Swing, JavaFX & SWT 3
T JmenuItems in JPopupMenu kontextabhängig deaktivieren AWT, Swing, JavaFX & SWT 2
S Swing JPopupMenu nicht schließen AWT, Swing, JavaFX & SWT 2
pinerski Probleme mit JPopupMenu und JMenuItem AWT, Swing, JavaFX & SWT 7
hdi Swing JPopupMenu: Größe AWT, Swing, JavaFX & SWT 4
B JPopupMenu, getParent Problem... AWT, Swing, JavaFX & SWT 2
Dragonfire width of JPopupMenu StyleBug AWT, Swing, JavaFX & SWT 3
M JPopupMenu - Ein vorhandenes Kontextmenü erweitern AWT, Swing, JavaFX & SWT 6
Iron Monkey JPopupMenu/JMenuItem Index für getSubElements()[] ermitteln AWT, Swing, JavaFX & SWT 8
X JPopupMenu Items aktualisieren sich nicht AWT, Swing, JavaFX & SWT 3
T JPopupMenu "schließen" AWT, Swing, JavaFX & SWT 7
M jPopupMenu AWT, Swing, JavaFX & SWT 2
M jPopupMenu - Problem bei der Positionierung AWT, Swing, JavaFX & SWT 3
N JPopupMenu - ausgewähltes Element zurückgeben AWT, Swing, JavaFX & SWT 2
P JPopupMenu scrollen AWT, Swing, JavaFX & SWT 2
A JPopupMenu: Nach oben aufpoppen AWT, Swing, JavaFX & SWT 9
S Problem mit JPopupMenu AWT, Swing, JavaFX & SWT 3
T JPopupMenu wird bei Rechtsklick angezeigt! AWT, Swing, JavaFX & SWT 3
K Netbeans GUI Builder (Matisse) und erstellen von JPopupMenu AWT, Swing, JavaFX & SWT 1
I In JPopupMenu scrollen AWT, Swing, JavaFX & SWT 4
M JPopupMenu per linker Maustaste öffnen AWT, Swing, JavaFX & SWT 9
V Beliebige Komponenten in einem JPopupMenu? AWT, Swing, JavaFX & SWT 3
F Problem mit JPopupMenu AWT, Swing, JavaFX & SWT 3
C JPopUpMenu in einem JTree ist lahm AWT, Swing, JavaFX & SWT 14
V JPopupMenu Problem und Tipp zu mouse/key AWT, Swing, JavaFX & SWT 3
F JPopupMenu und AbstractAction AWT, Swing, JavaFX & SWT 2
N Problem mit JPopupMenu und alwaysOnTop AWT, Swing, JavaFX & SWT 4
G Schließen von JPopupMenu AWT, Swing, JavaFX & SWT 14
G Problem mit JPopupMenu AWT, Swing, JavaFX & SWT 30
R Hässlicher Punkt bei JPopupMenu AWT, Swing, JavaFX & SWT 12
S JPopupMenu - Kontrolliert beenden AWT, Swing, JavaFX & SWT 3
C Problem mit JPopupMenu AWT, Swing, JavaFX & SWT 6
T java.awt.IllegalComponentStateException bei JPopupMenu AWT, Swing, JavaFX & SWT 6
G Problem mit JPopupMenu und Menüauswahl AWT, Swing, JavaFX & SWT 4
R JPopupMenu,JScrollPane + repaint AWT, Swing, JavaFX & SWT 8
D Probleme bei der Positionierung von JPopupMenu AWT, Swing, JavaFX & SWT 2
J "Problem" mit JPopupMenu AWT, Swing, JavaFX & SWT 7
G JPopupMenu in JTable AWT, Swing, JavaFX & SWT 4
MiMa JavaFX JAR unter Windows ausführen schlägt fehl? AWT, Swing, JavaFX & SWT 5
CodingBerlin JavaFX Programm läuft nur unter Eclipse AWT, Swing, JavaFX & SWT 1
S Ich bringe Code mit JavaFX unter Apache NetBeans IDE 12.6 nicht zum laufen. AWT, Swing, JavaFX & SWT 14
U Wie funktioniert das rotieren unter 2dGraphics, also wie stelle ich z. B. 90° ein? AWT, Swing, JavaFX & SWT 1
T Swing DPI-Skalierung und Java 2D unter Java 11 (und Windows 10) AWT, Swing, JavaFX & SWT 2
N JavaFX Installation unter IntelliJ IDEA AWT, Swing, JavaFX & SWT 5
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
B JavaFX openjfx11: intelliJ unter Ubuntu 18.10 kann nicht auflösen AWT, Swing, JavaFX & SWT 4
CptK Swing Button: ImageIcon unter den Text AWT, Swing, JavaFX & SWT 4
T Java Swing - kleines Rechteck unter dem cursor AWT, Swing, JavaFX & SWT 5
Blender3D Meine Swing Anwendung läuft unter Windows 10 und Ubuntu aber nicht auf Windows 7 AWT, Swing, JavaFX & SWT 16
A Swing Gemaltes Bild über saveDialog speichern unter AWT, Swing, JavaFX & SWT 15
S Kein JFrame unter Mac? AWT, Swing, JavaFX & SWT 8
Blender3D Swing KeyBoardListener funktioniert nicht unter UBUNTU AWT, Swing, JavaFX & SWT 7
V Swing Button soll unter anderem Button sein AWT, Swing, JavaFX & SWT 2
L DoubleBuffering unter Swing AWT, Swing, JavaFX & SWT 0
L JavaFX Scene wechseln unter FX AWT, Swing, JavaFX & SWT 5
Avarion Swing JFrame unter Windows 10 kleiner ?! AWT, Swing, JavaFX & SWT 2
T ThreadPool sicher beenden unter Verwendung von swt.widgets.Display.syncExec AWT, Swing, JavaFX & SWT 1
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
M Swing Bildbearbeitung unter Java AWT, Swing, JavaFX & SWT 22
S (Swing)Vollbild anzeigen unter Linux/Mac AWT, Swing, JavaFX & SWT 6
D 2D-Grafik Rechteck befindet sich unter dem Rahmen des JFrame. AWT, Swing, JavaFX & SWT 1
T JFrame Icon unter Linux/Ubuntu AWT, Swing, JavaFX & SWT 11
S JMenu unter JPanel versteckt AWT, Swing, JavaFX & SWT 5
P Verbuggte custom JButton unter Windows AWT, Swing, JavaFX & SWT 9
SexyPenny90 JLabel liegt unter meiner Turtle AWT, Swing, JavaFX & SWT 5
F LayoutManager Null-Layout unter Linux im TreeCellEditor AWT, Swing, JavaFX & SWT 3
J AWT setBackground(Color.orange) ist unter Win7 Aero nicht orange AWT, Swing, JavaFX & SWT 3
T Unter JPanel liegende Komponenten "totschalten" AWT, Swing, JavaFX & SWT 5
R Problem mit TrayIcon unter Windows/Linux AWT, Swing, JavaFX & SWT 7
M Datei Speichern unter Dialog - SWT AWT, Swing, JavaFX & SWT 3
T JButtons indexiert unter NetBeans anlegen AWT, Swing, JavaFX & SWT 7
S GUI aussehen unter Windows und Linux (und Mac) AWT, Swing, JavaFX & SWT 13
J Applet Kommunikation unter Applets AWT, Swing, JavaFX & SWT 2
I Probleme mit GWT Controls unter Firefox AWT, Swing, JavaFX & SWT 14
A Swing Probleme unter Windows 7 AWT, Swing, JavaFX & SWT 5
F AWT MouseMotionListener e.getButton() ist immer 0 unter Linux und Windows AWT, Swing, JavaFX & SWT 6
F AWT DnD von Dateien mit Sonderzeichen funktioniert unter Linux nicht AWT, Swing, JavaFX & SWT 3
J Swing Natives Menü unter OS X erstellen ? AWT, Swing, JavaFX & SWT 8
C Swing Kleines Programm mit SWING unter Verwendung von MVC AWT, Swing, JavaFX & SWT 5
G SWT-App läuft nicht unter OSX, unter Win aber problemlos AWT, Swing, JavaFX & SWT 3
H Y-Position mit get-/setLocation() unter Linux/Enlightement16 inkonsistent AWT, Swing, JavaFX & SWT 3
G SWT Linie unter transparentes Canvas zeichnen AWT, Swing, JavaFX & SWT 4
M KeyListener Problem unter Firefox AWT, Swing, JavaFX & SWT 2
G Quaqua unter Windows AWT, Swing, JavaFX & SWT 15
B LaF unter KDE AWT, Swing, JavaFX & SWT 2
SuperSeppel13 Swing Fehlende Komponenten unter Mac OS X AWT, Swing, JavaFX & SWT 8
M Swing GroupLayout unter Java 1.5 AWT, Swing, JavaFX & SWT 20
M JMenu teilweise unter einer JComponent AWT, Swing, JavaFX & SWT 4
B Button identifizieren unter MouseEvent AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben