Kontextmenü

Status
Nicht offen für weitere Antworten.
Hi
habe folgendes Problem: habe eine dynamische Anzahl an Textfeldern. Bei den Textfelder soll es überall ein Kontextmenü mit Ausschneiden, Kopieren, Einfügen geben.
Jetzt bin ich in der ActionEvent-Methode und weiss nicht aus welchem Textfeld ich nun den Text bearbeiten soll!?
Auf den Textfeld-Namen gehen ist nicht gut, da ja wie oben schon erwähnt die Textfelder dynamisch sind (JTextfield[]).
Bekomme ich irgendwie das Textfeld aus dem Event?

Gruß
Michael B.
 

L-ectron-X

Gesperrter Benutzer
Du klickst doch aber bevor das Kontextmenü aufgeht auf ein Textfeld. Dann weißt Du doch welches Textfeld bearbeitet werden soll.
 
ja schon, aber da ich nicht für jedes Textfeld eine eigen Insatanz meines Kontextmenüs machen möchte, gelangen alle Klicks im Textfeld auf das selbe Kontextmenü. Und im Kontextmenü gelangen dann wieder alle nach dem 2. Mausklick (Ausschneiden) in die Methode ktxAusschneidenActionPerformed(java.awt.event.ActionEvent evt).
 
B

bygones

Gast
weiß net ob ichs richtig verstanden habe, aber warum machst du nicht ne Collections von Textefeldern. Deine Instanz des Kontextmenüs hat ne Variable die sich speichert welches Textfeld gerade angeklickt wurde (z.b. den Index in der Collections). Wenn du dann in der actionperformed bist holst du dir den Index aus dem Kontextmenu und darüber das entsprechende Textfeld ???:L
 
B

bygones

Gast
Du hast eine Klasse die dein Kontextmenu ist (sagen wir mal das ist n PopupMenu)
Code:
public class Kontexmenu extend JPopupMenu implements ActionListener{
   private JTextfield selectedField;
....
   
   public void setSelectedFiled(JTextefield f) {
      selectedField = f;
   }

   public void actionPerformed(ActionEvent ae) {
       // mach was mit dem selectedField
   }
}

Dann hast du die Klasse die die Textfelder hat:
Code:
public AlleTextfelder implements ActionListener{
   private Collections textfelder;
   private Kontextmenu kontextMenu;

   ....
}

Außerdem musst du, wenn ein Textfeld angeklickt wurde das aktuelle textfeld in der Klasse über setSelectedField setzen...
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben