SWT MenuItem + Selection/Listener

Status
Nicht offen für weitere Antworten.

lumo

Top Contributor
hallo

habe folgendes problem...
habe eine tabelle und per rechtsklick öffnet sich ein popupmenü.
nun soll, wenn ich im menü auf einen eintrage klicke, etwas passieren (text ausgegeben werden oder später dann ne funktion aufgerufen werden...)

mein problem ist nun, dass das in der theorie ja ganz nett ist, bei mir aber nicht will!

hier mal ein kleines lauffähiges programm als beispiel
Java:
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.MenuAdapter;
import org.eclipse.swt.events.MenuEvent;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;

public class MyTableMenuTest {

	public static void main(String[] args) {
		Display display = new Display();
		final Shell shell = new Shell(display);
		shell.setLayout(new FillLayout());
		final Table resultTable = new Table(shell, SWT.FULL_SELECTION);
		resultTable.setLinesVisible(true);
		for (int i = 0; i < 10; i++) {
			TableItem item = new TableItem(resultTable, SWT.NONE);
			item.setText("item " + i);
		}

		final Menu menu = new Menu(resultTable);
		resultTable.setMenu(menu);
		menu.addMenuListener(new MenuAdapter() {
			public void menuShown(MenuEvent e) {
				final int index = resultTable.getSelectionIndex();
				if (index == -1)
					return;
				MenuItem openItem = new MenuItem(menu, SWT.PUSH);
				openItem.setText("Close Shell");
				openItem.addListener(SWT.Selection, new Listener() {
                    public void handleEvent(Event e)    
                    {
                       System.out.println("Item Selected");
                       shell.close();
                    }});


				openItem.addSelectionListener(new SelectionListener() {
					public void widgetDefaultSelected(SelectionEvent e) {
						System.out.println("widgetDefaultSelected");
						shell.close();
					}

					public void widgetSelected(SelectionEvent e) {
						System.out.println("widgetSelected");
						shell.close();
					}
				});
			}

			public void menuHidden(MenuEvent e) {
				MenuItem[] items = menu.getItems();
				for (int i = 0; i < items.length; i++) {
					items[i].dispose();
				}
			}
		});

		shell.open();
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch())
				display.sleep();
		}
		display.dispose();
	}

}

kann mir jemand sagen, warum das nicht geht?
vielen dank im voraus
lumo, der sich gerade vorkommt wie ein 0-τ-user
 
Zuletzt bearbeitet:

lumo

Top Contributor
hatte ich eigentlich, scheit aber, dass ich auf der leitung gestanden bin

Sorry my fault, the selection event comes after the menu hidden event so the
menu items where disposed too early.
schande, und ich hab mich gefragt, seit wann es etwas ausmacht, wo die funktion definiert wird...
dass ich die ganze funktion menuHidden, einfach _NICHT_ implementieren muss/darf
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
padde479 MenuItem MouseEvent/-Listener AWT, Swing, JavaFX & SWT 5
Shallty JavaFX MenuItem (Info) Icon ändern AWT, Swing, JavaFX & SWT 7
Wurstsemmel SWT MenuItem dynamisch hinzufügen AWT, Swing, JavaFX & SWT 2
D Icon in Menuitem einfügen AWT, Swing, JavaFX & SWT 8
K Panel verdeckt MenuItem AWT, Swing, JavaFX & SWT 5
S JavaFX MenuItem in hoher (height größer) MenuBar vertikal zentrieren AWT, Swing, JavaFX & SWT 4
E JavaFX JavaFX - MenuItem erstellen aus dem Inhalt einer HashMap AWT, Swing, JavaFX & SWT 1
D JavaFX - MenuItem mit Icon AWT, Swing, JavaFX & SWT 1
H Javafx - Menuitem - Icon AWT, Swing, JavaFX & SWT 4
M JavaFX MenuItem Hintergrundfarbe in CSS AWT, Swing, JavaFX & SWT 4
C Swing MenuItem feuert Action nur wenn disabled AWT, Swing, JavaFX & SWT 2
P JTabbedPane per Menuitem erstellen AWT, Swing, JavaFX & SWT 20
S LayoutManager Card des CardLayout mit MenuItem auswaehlen AWT, Swing, JavaFX & SWT 9
F Zeichen per Menuitem funktioniert nicht AWT, Swing, JavaFX & SWT 2
D Icon in MenuItem AWT, Swing, JavaFX & SWT 3
B Actionlistener für MenuItem AWT, Swing, JavaFX & SWT 19
G Swing ->mainpanel wechseln bei Klick auf MenuItem (NetB.6 AWT, Swing, JavaFX & SWT 3
K MenuItem, StyledDocument remove AWT, Swing, JavaFX & SWT 16
G Referenz über MenuItem aus ActionListener auf das Objekt AWT, Swing, JavaFX & SWT 8
K MenuItem mit Unterpunkten AWT, Swing, JavaFX & SWT 3
S Mouselistener erzeugt kein Event in einem Menuitem AWT, Swing, JavaFX & SWT 2
K MenuItem: Farbe bei Selektion AWT, Swing, JavaFX & SWT 4
T AWT: MenuItem mit Symbol AWT, Swing, JavaFX & SWT 5
U KeyListener vs menuitem.setActionCommand() AWT, Swing, JavaFX & SWT 2
Salo JTabel Selection listener Bsp. AWT, Swing, JavaFX & SWT 5
J JTable Selection Listener funktioniert nicht AWT, Swing, JavaFX & SWT 4
S Zwei JTree, ein Model, bei Selection im ersten JTree soll der zweite die Inhlate anzeigen AWT, Swing, JavaFX & SWT 2
N JavaFX Problem mit table multiple selection AWT, Swing, JavaFX & SWT 5
A JFace/SWT: ListViewer Inhalt nach Selection in zweitem List Viewer aktualisieren! AWT, Swing, JavaFX & SWT 5
M Swing JTree: Wie kann ich die Hintergrundfarbe der selection ändern?!?! AWT, Swing, JavaFX & SWT 7
J Sinn eines Selection Listener AWT, Swing, JavaFX & SWT 5
S SWT Enable Selection AWT, Swing, JavaFX & SWT 11
B ButtonGroup mit mehr als einer Selection AWT, Swing, JavaFX & SWT 2
lumo SWT Table Selection Color +Focus Out AWT, Swing, JavaFX & SWT 14
S SWT ProgressBar: Value/Selection anzeigen AWT, Swing, JavaFX & SWT 4
H JList: Selection-Border entfernen AWT, Swing, JavaFX & SWT 2
P SWT Tree - Keine Selection zulassen AWT, Swing, JavaFX & SWT 4
R JTree und Selection mit Ctrl AWT, Swing, JavaFX & SWT 5
Dragonfire JTree, Selection via event AWT, Swing, JavaFX & SWT 7
O JTable label background und selection AWT, Swing, JavaFX & SWT 3
A Wie werde ich beim JTable die Selection wieder los? AWT, Swing, JavaFX & SWT 6
Zed JTable view auf Selection setzen AWT, Swing, JavaFX & SWT 2
R TreeViewer in SWT: Default Selection eines Items AWT, Swing, JavaFX & SWT 3
S JTable - Problem mit der Selection AWT, Swing, JavaFX & SWT 4
G JTextArea & JTextField Selection Problem (ersetzen) AWT, Swing, JavaFX & SWT 2
P JTable Row-Selection nach eingegebenem Anfangsbuchstaben AWT, Swing, JavaFX & SWT 4
O JTextField- Selection / Focus bei nicht editierbaren Feldern AWT, Swing, JavaFX & SWT 2
D Selection SWT Table AWT, Swing, JavaFX & SWT 5
J JTable selection AWT, Swing, JavaFX & SWT 2
V Selection Problem mit JList AWT, Swing, JavaFX & SWT 2
G JTree - ungültiger selection update AWT, Swing, JavaFX & SWT 2
O JTable selection eines weiter setzen wie? AWT, Swing, JavaFX & SWT 3
S Selection Color in JTabbedPane AWT, Swing, JavaFX & SWT 5
A JTree Problem mit Focus bzw. Selection AWT, Swing, JavaFX & SWT 5
G JTree. Neues Element hinzufügen und Selection beibehalten! AWT, Swing, JavaFX & SWT 3
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
G listener repaint() - verschiedene Darstellung AWT, Swing, JavaFX & SWT 24
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
K Warum genau hat man einen Listener, dann ein Event und was ist ein Adapter AWT, Swing, JavaFX & SWT 2
J Key-Listener in Java AWT, Swing, JavaFX & SWT 37
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
N JavaFX 1 Listener für mehrere ChoiceBoxen AWT, Swing, JavaFX & SWT 3
B Probleme Action Listener Taschenrechner AWT, Swing, JavaFX & SWT 27
M List Listener AWT, Swing, JavaFX & SWT 37
I AWT Listener während man in anderem Fenster ist AWT, Swing, JavaFX & SWT 4
U Funktionsweise Listener AWT, Swing, JavaFX & SWT 1
L TextField Listener AWT, Swing, JavaFX & SWT 13
K Nullpointer Combobox Listener AWT, Swing, JavaFX & SWT 2
L JavaFX Image im ImageView auf Scroll Listener reagieren AWT, Swing, JavaFX & SWT 5
J Action Listener Rückgabewert AWT, Swing, JavaFX & SWT 14
MaxG. Swing JMenu einen Listener Hinzufügen AWT, Swing, JavaFX & SWT 25
L JavaFX Verbindung zwischen Beschreibung und Listener (Codebehind Klasse) AWT, Swing, JavaFX & SWT 4
T Swing Methode in Listener aufrufen AWT, Swing, JavaFX & SWT 3
S Swing Tabellen - Listener & richtige Row AWT, Swing, JavaFX & SWT 3
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
S Erste Schritte mit GUI - Fileverarbeitung, Listener,... AWT, Swing, JavaFX & SWT 10
M JButton - Listener AWT, Swing, JavaFX & SWT 1
R Swing Mehrere JTextFields mit einem Document Listener AWT, Swing, JavaFX & SWT 2
K JavaFX Focus Listener für gesamte Scene AWT, Swing, JavaFX & SWT 1
M Key Listener reagiert nicht AWT, Swing, JavaFX & SWT 4
F In Action Listener TextFields einlesen und prüfen. Abbruch bei falschen Eingaben. Wie mache ich das? AWT, Swing, JavaFX & SWT 2
M Listener funktioniert nicht AWT, Swing, JavaFX & SWT 7
S Swing JComboBox mit Listener aktualisieren AWT, Swing, JavaFX & SWT 13
elischa JFrame über mehrere JPanel und Listener AWT, Swing, JavaFX & SWT 17
llabusch Event Handling Listener spielt verrückt AWT, Swing, JavaFX & SWT 8
kaoZ Swing Architektonisches Problem / Listener / MVC AWT, Swing, JavaFX & SWT 14
H org.eclipse.swt.widgets.Scale MouseRelease listener AWT, Swing, JavaFX & SWT 1
MaDDin-94 Swing Listener reagiert nicht immer AWT, Swing, JavaFX & SWT 2
A JLabel im Listener färben AWT, Swing, JavaFX & SWT 11
M Key-,... Listener funktioniert nicht immer AWT, Swing, JavaFX & SWT 2
P Event Handling Listener beim öffnen von einem JPopupMenu AWT, Swing, JavaFX & SWT 3
A Listener für JGTextField AWT, Swing, JavaFX & SWT 2
J Programmierstil: Kommunikation Listener und GUI AWT, Swing, JavaFX & SWT 3
B JTable Renderer / Listener AWT, Swing, JavaFX & SWT 7
M Swing JList Listener AWT, Swing, JavaFX & SWT 20
K Action Listener implementieren über Objekt AWT, Swing, JavaFX & SWT 14
E Listener AWT, Swing, JavaFX & SWT 3
M SWING Listener ohne Wirkung AWT, Swing, JavaFX & SWT 2
P Listener Auswahl Tabelle AWT, Swing, JavaFX & SWT 6
P JPanel- Listener durch JTextArea aktivieren AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben