Events fremdauslösen

Status
Nicht offen für weitere Antworten.

sabsoe

Mitglied
Hallo zusammen,

ich habe eine Frage bezüglich Events auf die ich bis jetzt leider noch keine Antwort gefunden habe.
Ist es möglich ein Event "fremdauszulösen"?

Beispiel ich habe einen JButton der einen ActionListener implementiert und möchte das Event ButtonClick jetzt aber nicht durch einen echten Button-Klick auf dem GUI auslösen sondern künstlich per Code-Anweisung.
Ist sowas möglich und wenn ja wie?


Vielen Dank im Voraus.

Gruss Sabrina
 

Illuvatar

Top Contributor
Beim JButton gibt es auch doClick(). Das stellt das sogar noch grafisch dar ;) aber bei doClick(0) nicht mehr.
 
G

Gast

Gast
Und wie schauts mit KeyStrokes aus? Sowas wie doKeyStroke() ist mir nicht bekannt.
 

norman

Top Contributor
vllt kannst du versuchen, ein KeyEvent zu erzeugen ..
Code:
KeyEvent(Component source, int id, long when, int modifiers, int keyCode, char keyChar) 
          Constructs a KeyEvent object.
und damit die entsprechende Methode aufzurufen ..
Code:
keyTyped(KeyEvent e)
 

sabsoe

Mitglied
@svenson

haste das mal ausprobiert mit dem doClick()?


Das problem mit dem Fremdauslösen ist eigentlich so gemeint dass man ein beliebiges Objekt welches einen Listener implementiert dazu bringt ein uns unbekanntes Event auszulösen.
 

norman

Top Contributor
ich denke das Event welches du auslösen willst sollte auf jedenfall bekannt sein. es gibt ja unterschiedliche events für einen listener.
KeyListener -> keyPressed, keyReleased, keyTyped
du müsstest also schon wissen, welches Event du das objekt, welches zB KeyListener implementiert, auf deinen Wunsch hin auslösen soll.
 

sabsoe

Mitglied
ja das weiss ich ja auch aber ich weiss nicht was ich wenn ich z.B. ein KeyEvent auslöse als id, modifiers und sowas angeben soll
 

norman

Top Contributor
Parameters:
source - the Component that originated the event
id - an integer identifying the type of event
when - a long integer that specifies the time the event occurred
modifiers - the modifier keys down during event (shift, ctrl, alt, meta) Either extended _DOWN_MASK or old _MASK modifiers should be used, but both models should not be mixed in one event. Use of the extended modifiers is preferred.
keyCode - the integer code for an actual key, or VK_UNDEFINED (for a key-typed event)
keyChar - the Unicode character generated by this event, or CHAR_UNDEFINED (for key-pressed and key-released events which do not map to a valid Unicode character)
id könnte zB KEY_TYPED sein.
 
S

svenson

Gast
@sabsoe:
Man kann sich zu einem char ein AWTKeyStroke Objekt erzeugen die genau diese Dinge kapselt.
 
S

svenson

Gast
@sabsoe
das Problem das wir haben ist eigentlich ein Scope Problem.
D.h. ein Objekt c der Klasse C kapselt ein privates Feld f des Typs F.
F implementiert einen Listener. Um jetzt von außen events an f zu schicken muessen wir c bitten das ein seinen member f weiterzuleiten da wir von außen ja t nicht sehen können.

Ich würde sagen wir hacken das wieder mit AspektOrientierung =))))) dann können wir nämlich auf private Felder zugreifen!
 
S

svenson

Gast
Beispiel:
Code:
		class C {
			JTextArea ta = new JTextArea();
			public C(){
				ta.addKeyListener(new KeyListener(){
					public void keyTyped(KeyEvent e) {
						//doFoo
					}
					public void keyPressed(KeyEvent e) {
						// doBar	
					}
					public void keyReleased(KeyEvent e) {
						// doFooBar
					}
				});
			}
		}

Frage: Wie kann ich von außerhalb der Klasse C Events an die TextArea schicken?
 

sabsoe

Mitglied
@ svenson
na wenn das geht wieso nicht.
ich blick grade nicht so durch aber egal.

@norman
danke für die erklärung!
 

sabsoe

Mitglied
@svenson
ahh oke - jetzt verstehe ich auch was du meinst.

so ungefähr wollte ich das ja auch gefragt haben.
 
S

stev.glasow

Gast
svenson hat gesagt.:
@sabsoe
das Problem das wir haben ist eigentlich ein Scope Problem.
D.h. ein Objekt c der Klasse C kapselt ein privates Feld f des Typs F.
F implementiert einen Listener. Um jetzt von außen events an f zu schicken muessen wir c bitten das ein seinen member f weiterzuleiten da wir von außen ja t nicht sehen können.

Ich würde sagen wir hacken das wieder mit AspektOrientierung =))))) dann können wir nämlich auf private Felder zugreifen!

C muss schon nen getter für f haben, sonst geht das nich. Bzw. sonst will C nicht das man mit f was macht.
Oder du besorgst dir per Reflection die private Varibale.
 

Bleiglanz

Gesperrter Benutzer
Code:
Beispiel ich habe einen JButton der einen ActionListener implementiert und möchte das Event ButtonClick jetzt aber nicht durch einen echten Button-Klick auf dem GUI auslösen sondern künstlich per Code-Anweisung.
Ist sowas möglich und wenn ja wie?

vergiss das mit dem "Fremdauslösen", wär doch käse das so zu machen

schreib in der ActionPerformed einfach eine "Weiterleitung" auf eine ganz normale public Methode irgendwo, und diese Methode kannst du dann jederzeit von irgendwoher aufrufen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G mouse events AWT, Swing, JavaFX & SWT 6
Heldderschatten Java Events und Interfaces AWT, Swing, JavaFX & SWT 18
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
D Swing Events vom JLayer abfangen AWT, Swing, JavaFX & SWT 2
D Transparentes Hauptfenster Events AWT, Swing, JavaFX & SWT 1
M Swing Hinter die Kulissen von Events (addActionListener) AWT, Swing, JavaFX & SWT 6
N JTextArea Events weiterleiten AWT, Swing, JavaFX & SWT 3
R SWT Eigene Events erstellen und werfen AWT, Swing, JavaFX & SWT 59
S Mouse Events in einer sortierten JTable unterscheiden AWT, Swing, JavaFX & SWT 18
C Swing Simulation von Drag and Drop Events AWT, Swing, JavaFX & SWT 3
J Events und Sleep? AWT, Swing, JavaFX & SWT 4
C MouseMotionListener fired keine Events mehr wenn in Button AWT, Swing, JavaFX & SWT 2
E JFace ListSelectionDialog & Mouse-Events? AWT, Swing, JavaFX & SWT 2
N Variablen in Events AWT, Swing, JavaFX & SWT 4
P AWT MouseListener unklare abhandlung von Events AWT, Swing, JavaFX & SWT 3
L Swing Auslöser eines Events finden? AWT, Swing, JavaFX & SWT 6
R JTable - eigener Editor - Mouse events AWT, Swing, JavaFX & SWT 2
C keine weiteren Events während Drag&Drop Operation möglich? AWT, Swing, JavaFX & SWT 5
Weltall 7 AWT Maus-Events werden doppelt ausgeführt AWT, Swing, JavaFX & SWT 12
0 Events werden nicht ausgelöst AWT, Swing, JavaFX & SWT 2
V Swing Auslösen von zwei Events hintereinander AWT, Swing, JavaFX & SWT 4
T Swing Control und Events AWT, Swing, JavaFX & SWT 8
MrMilti Gezeichnete Java2D Elemente mit Events versehen AWT, Swing, JavaFX & SWT 3
R Events - Nur auf eines reagieren AWT, Swing, JavaFX & SWT 3
T JComboBox: ActionListener/ItemListener wie nur auf bestimmte Events reagieren? AWT, Swing, JavaFX & SWT 7
B Swing setDefaultButton geht nicht - Komponente fängt Events ab AWT, Swing, JavaFX & SWT 5
R Key und Mouse Events AWT, Swing, JavaFX & SWT 2
K Alle Events abfangen mit GlassPane AWT, Swing, JavaFX & SWT 7
T SWT - Table Events AWT, Swing, JavaFX & SWT 3
hdi Events nicht plattform-unabhängig? AWT, Swing, JavaFX & SWT 14
M SWT: eigene Events AWT, Swing, JavaFX & SWT 9
G Reihenfolge von Events AWT, Swing, JavaFX & SWT 4
D Events bei Tabs in einem Editor AWT, Swing, JavaFX & SWT 2
F Probleme mit MouseWheel events in SWT AWT, Swing, JavaFX & SWT 13
M Globale Events in Windows abfangen AWT, Swing, JavaFX & SWT 2
T Hilfe zu Events? AWT, Swing, JavaFX & SWT 6
S Events abfangen, nicht durchlassen AWT, Swing, JavaFX & SWT 2
T Events unterdrücken AWT, Swing, JavaFX & SWT 8
G An die Quelle einen events kommen AWT, Swing, JavaFX & SWT 2
M Problem mit verschachtelten Events und kein ausweg in sicht AWT, Swing, JavaFX & SWT 3
W Vom JPanel bekomme ich keine Events AWT, Swing, JavaFX & SWT 5
V Events an untere Layers weitergeben AWT, Swing, JavaFX & SWT 2
V events skippen AWT, Swing, JavaFX & SWT 14
M Events auslagern? AWT, Swing, JavaFX & SWT 6
F Events AWT, Swing, JavaFX & SWT 8
N SWT: GUI Windows Events AWT, Swing, JavaFX & SWT 8
I Globale Tastatur-Events abfragen AWT, Swing, JavaFX & SWT 3
D Events werden zu oft aufgerufen AWT, Swing, JavaFX & SWT 4
G Events AWT, Swing, JavaFX & SWT 2
K Mouse Events der Scrollbar/pane AWT, Swing, JavaFX & SWT 2
K Doppelte Events AWT, Swing, JavaFX & SWT 4
A Combobox Focus-Events, Tab in Tabelle AWT, Swing, JavaFX & SWT 7
D Events, Listener, GUI . Größeres Projekt AWT, Swing, JavaFX & SWT 4
A Vielschichtige GUI und Events? AWT, Swing, JavaFX & SWT 4
V JList mit Events Steuern ? AWT, Swing, JavaFX & SWT 15
S Rechner zu schnell für Events? AWT, Swing, JavaFX & SWT 14
G JTable und Events AWT, Swing, JavaFX & SWT 4
S Events bei 2 gleichen Jtree abfangen AWT, Swing, JavaFX & SWT 3
ShapeShifter JButton erzeugt zwei Events AWT, Swing, JavaFX & SWT 4
B Eigenes Events AWT, Swing, JavaFX & SWT 3
T JScrollPane-Events AWT, Swing, JavaFX & SWT 2
M JTable und Events AWT, Swing, JavaFX & SWT 4
K JComboBox: Endlosschleife durch Events AWT, Swing, JavaFX & SWT 4
K [JComboBox] ENTER löst zwei events aus? AWT, Swing, JavaFX & SWT 2
M Glasspane und dispatchen von Events AWT, Swing, JavaFX & SWT 6
H Events manuell aufrufen AWT, Swing, JavaFX & SWT 4
F JComboBox setEditable( true ) auf Tastatur Events reagieren AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen


Oben