Kommunikation zwischen 2 Klassen

C

Carcharoth

Mitglied
Hallo

Ich habe eine Klasse "Bauteil" welche Maschinenteile beschreibt (Länge, Breite, Gewicht, Preis, usw.).
In einer GUI stelle ich die Maschinenteile mittels einer Klasse "Draw" grafisch dar.

Wenn eine Änderung an den geometrischen Attribute von einem Bauteil erfolgt, möchte ich die grafische Darstellung auf der GUI anpassen können.
Entsprechende Methode habe ich in "Draw" implementiert.

Wie kann ich die beiden Klassen am besten verbinden?
Wie sagt das Bauteil der grafischen Abbildung aus Draw, dass sie das Maschinenteil neu zeichnen muss?

Ich hatte gedacht, dass ich in der Klasse Bauteil, nebst den Attributen Länge, Breite, Gewicht, usw. noch ein Attribut des Types Draw hinzufüge. So hätte jedes Bauteil gleich seine grafische Darstellung mit an Bord. Aber dann schaffe ich es nicht, dass das die Instanz von Draw innerhalb von Bauteil auf die geometrische Attribute von Bauteil zugreifen kann.

Danke für eure Tipps.
Gruss
 
kneitzel

kneitzel

Top Contributor
So ganz habe ich die Problematik nicht verstanden.

Wenn Du in einer Instanz von Draw ein Bauteil brauchst, dann kannst Du dies natürlich auch dort hinterlegen, also in draw eine Referenz zu Bauteil speichern.

Aber die generelle Problematik hört sich mehr nach einen Thematik an, die über eine Art von Event gelöst werden kann, damit möglicht wenig Abhängigkeiten bestehen.

Wie man das genau abbildet, kann man sich dann überlegen. So könnte z.B. ein changeListener eingeführt werden. Dann hätte Bauteil ein addChangeListener. Und immer wenn sich das Bauteil verändert, dann wird bei allen ChangeListener eine Methode aufgerufen (die halt in ChangeListener - einem funktionalen Interface - definiert wurde.), die dann z.B. als Parameter das Element hat, das geändert wurde.

Dann kannst Du in der UI das entsprechend nutzen, indem da halt z.B. eine Methode redrawElement(element) existiert, die dann da hinterlegt werden kann für jedes Bauteil a.la. sampleElement.addChangeListener(this::redrawElement);

Das ist aber auch nur eine Idee. Da geht halt einiges mehr. Beispiele, wie das woanders gelöst wurde wären z.B. die Events von AWT oder das Binding der Property von JavaFX. So eine der beiden Technologien benutzt wird, dann könnte auch die entsprechende Logik 1:1 verwendet werden statt da halt selbst etwas zu bauen.
 
C

Carcharoth

Mitglied
Danke.
Der Ansatz mit dem changeListener muss ich mir noch etwas genauer ansehen.

Wie kann ich denn in einer Klasse "Draw" eine Referenz auf eine Instanz einer anderen Klasse "Bauteil" speichern?
Wenn ich Draw wie folgt mit einem Konstruktor ausstatte, zeigt dann das Attribut bauteil von Draw auf das gleiche Objekt wie die aufrufende Klasse oder macht der Konstruktor von Draw eine Kopie davon?

Java:
public class Draw {
    Bauteil bauteil;
    
    Draw(Bauteil bauteil) {
        this.bauteil=bauteil;
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Klassen Kommunikation zwischen Klassen Java Basics - Anfänger-Themen 4
G Kommunikation zwischen zwei Klassen Java Basics - Anfänger-Themen 5
M Kommunikation zwischen Klassen Java Basics - Anfänger-Themen 3
V Kommunikation zwischen Klassen Java Basics - Anfänger-Themen 2
L Kommunikation zwischen mehreren Klassen Java Basics - Anfänger-Themen 2
G Nochmal Problem mit Kommunikation zwischen Klassen Java Basics - Anfänger-Themen 3
G Kommunikation zwischen Klassen, aber bitte MVC Java Basics - Anfänger-Themen 12
A Kommunikation zwischen nebenläufigen Threads Java Basics - Anfänger-Themen 4
P Kommunikation zwischen zwei *.class Java Basics - Anfänger-Themen 3
T Kommunikation zwischen Controller und GUI Java Basics - Anfänger-Themen 2
S Frage zur Kommunikation zwischen Objekten Java Basics - Anfänger-Themen 5
J Kommunikation zwischen zwei JAVA-Dateien Java Basics - Anfänger-Themen 8
S Kommunikation zwischen Komponenten in einem JFrame Java Basics - Anfänger-Themen 10
B Kommunikation zwischen Klasse und Listener Java Basics - Anfänger-Themen 2
D Kommunikation zwischen zwei Java Anwendungen möglich? Java Basics - Anfänger-Themen 6
G Kommunikation zwischen Applet und Java-Anwendung über TCP/IP Java Basics - Anfänger-Themen 3
M Kommunikation zwischen GUI und Event -Klasse Java Basics - Anfänger-Themen 3
Q Kommunikation zwischen Frames Java Basics - Anfänger-Themen 3
M konzeptuelle Frage: In welcher Klasse definiert man am Besten Methoden, die die Kommunikation mit dem User regeln? Java Basics - Anfänger-Themen 8
A Client-Server Kommunikation Java Basics - Anfänger-Themen 3
S JavaFX-Arduino Kommunikation mit LCD-Anzeige Java Basics - Anfänger-Themen 0
M Input/Output Kommunikation mit externen Geräten Java Basics - Anfänger-Themen 0
M OOP Kommunikation MVC und DTO Java Basics - Anfänger-Themen 13
K Kommunikation von Java RMI und Webservices Java Basics - Anfänger-Themen 9
H Einfache Client/Server-Kommunikation Java Basics - Anfänger-Themen 16
E MVC: Kommunikation der Modellteile Java Basics - Anfänger-Themen 12
G Klassen Kommunikation zw. Klassen Java Basics - Anfänger-Themen 28
B Socket Kommunikation in beide Richtungen Java Basics - Anfänger-Themen 12
F Socket Kommunikation Java Basics - Anfänger-Themen 4
G Server-Client Kommunikation Java Basics - Anfänger-Themen 3
J Panel-übergreifende Kommunikation Java Basics - Anfänger-Themen 3
J RxTx/RS232 Kommunikation (TwoWay) Java Basics - Anfänger-Themen 10
Z Tomcat Server Kommunikation zu Client Applet Java Basics - Anfänger-Themen 5
G Datenstruktur und die Kommunikation mit der GUI Java Basics - Anfänger-Themen 10
W Inter-Thread-Kommunikation Java Basics - Anfänger-Themen 3
T Kommunikation zw. 2 Javaprogrammen Aufr --> Verab. -> Java Basics - Anfänger-Themen 6
P Kommunikation mit Prozess Java Basics - Anfänger-Themen 3
H Kommunikation C++ <> Java Java Basics - Anfänger-Themen 4
A Kommunikation Java-Anwendung <-> Java-Applet Java Basics - Anfänger-Themen 24
D Thread und Process Kommunikation bei eigener Console Java Basics - Anfänger-Themen 2
P asynchrone Kommunikation Applet Servlet mit RMI möglich Java Basics - Anfänger-Themen 4
F Kommunikation von 2 Klasse Java Basics - Anfänger-Themen 5
B jtapi <-> tapi Kommunikation Java Basics - Anfänger-Themen 2
S Kommunikation zwsichen Klassen. Java Basics - Anfänger-Themen 9
D J/Direct oder JNI? .bzw. Kommunikation mit Windows-API. Java Basics - Anfänger-Themen 2
M probleme in der kommunikation von klassen Java Basics - Anfänger-Themen 5
marcooooo Separator zwischen allen Zeichen eines Strings einfügen Java Basics - Anfänger-Themen 29
NeoLexx Zuweisungskompatibilität zwischen Vererbungsbeziehungen (Polymorphie) Java Basics - Anfänger-Themen 18
L Threads Synchronisierung zwischen threads Java Basics - Anfänger-Themen 4
N Berührung zwischen Rechtecken Java Basics - Anfänger-Themen 5
Y Unterschied zwischen WindowBuilder und herkömmlichen erstellen des GUI´s? Java Basics - Anfänger-Themen 9
J Wert zwischen JFrames übergeben Java Basics - Anfänger-Themen 2
U Worin besteht der Unterschied zwischen call by reference und call by value? Java Basics - Anfänger-Themen 14
E Unterschied zwischen new und import Java Basics - Anfänger-Themen 5
J Punkt auf,über,unter oder zwischen 2 Geraden Java Basics - Anfänger-Themen 14
B Unterschied zwischen (List<T> a) und (T[] a) Java Basics - Anfänger-Themen 7
Dilara_K Abstand zwischen den Doppelwerten in einem Array herausfinden Java Basics - Anfänger-Themen 20
S Nach dem Herüberschieben eines Arrays zwischen 2 Frames öffnet sich das Frame nicht mehr Java Basics - Anfänger-Themen 12
D Zufallszahl zwischen 10 und 99? Java Basics - Anfänger-Themen 5
J Objektzugriff zwischen disjunkten Klassen Java Basics - Anfänger-Themen 1
L Den Winkel zwischen zwei Vektoren berechnen! Java Basics - Anfänger-Themen 2
A Methoden Unterscheid zwischen public und ohne Java Basics - Anfänger-Themen 9
X Input/Output Höchste Temperaturschwankung zwischen 2 Tagen Java Basics - Anfänger-Themen 2
Bluedaishi der Monat zwischen zwei Datumsangaben Java Basics - Anfänger-Themen 15
R Threads Pause zwischen zwei Schleifen Java Basics - Anfänger-Themen 1
Aprendiendo Unterschied zwischen Referenzvariable und Instanzvariable. Java Basics - Anfänger-Themen 2
N Unterschied zwischen Checked und Unchecked Exceptions Java Basics - Anfänger-Themen 12
S Parameterübergabe zwischen zwei Programme Java Basics - Anfänger-Themen 4
S Erste Schritte Zwischen zwei Punkten ein Minimumpkt./Maxima finden Java Basics - Anfänger-Themen 1
K Klassen Array zwischen Klassen übergeben Java Basics - Anfänger-Themen 2
Arif OOP Die Bindung zwischen einem äußeren und einem inneren Objekt Java Basics - Anfänger-Themen 2
schoenosrockos Unterschied zwischen Objekten und vererbungen Java Basics - Anfänger-Themen 1
S OOP Variablen zwischen mehreren Klassen Java Basics - Anfänger-Themen 11
H Klassen Konstruktor Parameter als Instanzvariablen zwischen speichern... Java Basics - Anfänger-Themen 11
J Variablen Unterschied zwischen lokalen-, Instanz-, Klassenvariablen Java Basics - Anfänger-Themen 6
N Dauer zwischen zwei LocalDateTime Objekten berechnen? Java Basics - Anfänger-Themen 4
P Ungerade Zahlen ausgeben lassen zwischen Spannweite zweier eingegeben zahlen Java Basics - Anfänger-Themen 6
V Zufallswert zwischen zwei Zahlen a und b Java Basics - Anfänger-Themen 12
H Datentypen Tage zwischen zwei Datums berechnen Java Basics - Anfänger-Themen 4
M Variable zwischen Klassen übergeben Java Basics - Anfänger-Themen 5
A attach source: Zusammenhang zwischen JAR und .class/.java Dateien? Java Basics - Anfänger-Themen 2
L Unterschied zwischen Klassen - und Instanzvarbiablen Java Basics - Anfänger-Themen 1
F Vererbung von Attributen zwischen zwei Klassen Java Basics - Anfänger-Themen 6
F Referenzen zwischen Methoden Java Basics - Anfänger-Themen 5
B Distanz zwischen zwei Punkten Java Basics - Anfänger-Themen 4
D Suche nach der Anzahl von Zonen zwischen zwei Punkten Java Basics - Anfänger-Themen 2
G Zugriff zwischen Klassen Java Basics - Anfänger-Themen 15
S Funktion die mir fuer einen String eine Zahl zwischen 0.0 und 1.0 zurueckliefert..? Java Basics - Anfänger-Themen 9
S Unterschiede zwischen equals und contains Java Basics - Anfänger-Themen 2
S Leerzeichen zwischen zwei Zeichen im String entfernen Java Basics - Anfänger-Themen 19
N Werte zwischen Klassen austauschen Java Basics - Anfänger-Themen 1
M Unterschied zwischen Classpath eines Eclipse Projektes und dem CLASSPATH? Java Basics - Anfänger-Themen 3
Thallius Best Practice Events zwischen eigenen Klassen Java Basics - Anfänger-Themen 2
A if-Anweisung zwischen zwei Punkten Java Basics - Anfänger-Themen 1
S Erste Schritte TAB-Wechsel zwischen TextFields Java Basics - Anfänger-Themen 1
B Relativer Pfad zwischen zwei Files Java Basics - Anfänger-Themen 2
M Drag & Drop - Interaktion zwischen Java und dem OS Java Basics - Anfänger-Themen 1
S Erste Schritte Tage zwischen 2 Daten berechnen Java Basics - Anfänger-Themen 6
Z Differenz zwischen 2 Daten berechnen, ohne importiere Funktionen! Java Basics - Anfänger-Themen 10
A Datum zwischen zwei Daten berechnen und in Tagen anzeigen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Anzeige

Neue Themen


Oben