![]() |
Java Event-Verarbeitung
Von "außen" erzwungen muß ich mich neuerdings mit Java beschäftigen.
Ich habe genauso begonnen wie vor langer Zeit mit Delphi, also ein Fenster ein Button und ein Edit, nur mal so zum "spielen". Dann ging es an die Ereignisbehandlung und ich konnte nicht glauben, was man da so alles machen muß/soll. Zugegeben ich habe noch nicht wirklich Zeit investiert, aber im Moment bin ich schon etwas irritiert. Hat jemand einen Tip für ein gutes Tutorial ? Bleibt bei Delphi, wenn ihr könnt!! |
AW: Java Event-Verarbeitung
Was für einen Event-Handler möchstest du denn erstellen?
Wenn du etwas genauer wirst, kann evtl. jemand die Delphi- und Java-Lösung gegenüberstellen. |
AW: Java Event-Verarbeitung
Spannend wird es doch erst, wenn du aus einem anderen Thread auf die UI willst 8-)
"Java ist auch nur eine Insel" ist IMHO online verfügbar und für Anfänger eigentlich ganz brauchbar |
AW: Java Event-Verarbeitung
Zitat:
Anstelle eines Eventhandlers (also einer Methode, die eine bestimmte Signatur erfüllt), übergibst Du ein Objekt, das ein bestimmtes Interface implementiert (das eine Eventhandler-Methode mit passender Signatur vorgibt). Du hast also im Prinzip nur den Zwischenschritt über die Klasse zusätzlich. |
AW: Java Event-Verarbeitung
Erstmal danke für die Antworten. Das steht alles noch ganz am Anfang.
Es gibt noch keine wirklich konkrete Anwendung. Ich bin auch durchaus lernbereit, ob es was nützt, sei mal dahingestellt. Meiner Meinung nach sollte eine (neue) Programmiersprache die Bearbeitung von Standardaufgaben (siehe Event-Behandlung) für den Anwender so einfach/ transparent wie möglich machen. Bei der Vorgehensweise in Java ist da für mich erstmal nicht der Fall. Schönen Abend noch... |
AW: Java Event-Verarbeitung
Zitat:
![]() ![]() ![]() ![]() Dass Swing in weiten Bereichen umständlicher ist als nötig, sei unbestritten. Dennoch gibt es sehr viele kommerzielle Anwendungen, die komplett auf Swing basieren. JavaFX 2 könnte aber je nach Anwendungstyp eine Alternative darstellen, die zeitgemäßer ist (Hardware-Rendering): ![]() |
AW: Java Event-Verarbeitung
Zitat:
|
AW: Java Event-Verarbeitung
Zitat:
Ich bin zwar kein Java-Fachmann, aber so sollte es gehen: Interface deklarieren
Code:
Interface implementieren:
public interface SimpleEvent {
public void event(int NR) ; }
Code:
Klasse, die Event feuert:
public class Foo implements SimpleEvent{
/* (non-Javadoc) * Diese Klasse kann noch vieles anderes machen.... */ public void event(int NR) { system.out.print("ich bin gefeuert mit " + NR); } }
Code:
und wie du jetzt siehst, kannst du bei ichMelde.setEvent eine Klasse (hier: Foo) angeben, die ein Ereignis behandelt und das entsprechende Interface auch implementiert.
public class ichMelde {
private SimpleEvent simpleEvent; /* Feld zum merken des Events*/ public void setEvent(SimpleEvent e) { simpleEvent=e; } void fire() { simpleEvent.event(42); } } Meist wird zu einem Interface auch noch eine leere Klasse erstellt (die also alle Methoden des Interfaces implementiert, aber ohne was zu tun:
Delphi-Quellcode:
halt). Diese Klasse kann man dann zum aufbauen einer anonymen Methode verwenden. Auch einm häufig gesehenes Beispiel für einen Event-Handler, wenns mal "schnell" gehen muss.
begin end;
|
AW: Java Event-Verarbeitung
Ich hatte nicht damit gerechnet hier ins Grundsaätzliche zu geraten.
Aber trotzdem danke für die Anregungen. Wie schon gesagt, bin ich wohl durch Delphi ein wenig verwöhnt. (Anfang mit D1 unter WIN3.11). Aber die Welt dreht sich weiter, man wird sehen. Zu Weihnachten gibt es dann wohl erstmal ein Buch über Java. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz