Announcement

Collapse
No announcement yet.

JPopUpMenu ohne Selektion

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • JPopUpMenu ohne Selektion

    Moin,

    haben ein Problem. Bei unserem JPopUpMenu
    wird automatisch die erste Zeile selektiert.
    Das soll aber nicht sein.
    Gibt es da eine Möglichkeit dieses zu umgehen?

    Beispiele die net funzen:

    a)
    JPopupMenu menu = ...
    menu.setSelected( null );

    b)
    menu.setSelected(-1);

    Sind für jede Hilfe dankbar!!! :-)

  • #2
    Normalerweise haben ja alle menu items separate Modelle, die den eigenen Zustand von selected und enabled verwalten.

    Wenn man jedoch die ButtonGroup dafür verwendet, hat man das Problem, dass in einer ButtonGroup genau ein Element selected ist. Ich habe mir eine eigene ButtonGroup geschrieben, die auch eine empty selection verwalten kann

    Comment


    • #3
      Hi.

      also ich hab jetzt die MenuItems zu ner ButtonGroup hinzugefügt, der ich ein eigenes ButtonModel verpasst hab. Da hab ich nur die Methoden "isEnabled()" und "setEnabled(boolean)" überschrieben, die ja immer aufgerufen werden, wenn das PopupMenu erscheint. Ich liefere dabei immer false zurück bzw. setze den Status auf false. Allerdings ist immer noch das erste Element selektiert. Mit den anderen Methoden gings auch nicht, da sie gar nicht aufgerufen werden... Hab ich da irgendwas falsch verstanden oder stell ich mich einfach nur blöd an???
      Ich hoffe, du kannst das mit der Empty Selection genauer erläutern...

      mf

      Comment


      • #4
        eine idee ist es selber eine liste von den modellen zu halten, bei denen sich die liste als changelistener anmeldet. die liste merkt sich genau ein selektiertes model (kann auch null sein für empty selection).
        kommt ein change event, so wird merkt man sich das neu selektierte und deselektiert alle anderen modelle.

        somit brauchst du keine button group für alle menu items mehr, da dessen verhalten über deine liste gelöst wird

        Comment


        • #5
          ich habs mal versucht, aber ich weiß echt nicht genau wie du das meinst. hast nicht mal n beispiel code??

          Comment

          Working...
          X