WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

modulare GUI-Elemente in Klassen integrieren

 

heim0r

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.12.2013, 18:39     Titel: modulare GUI-Elemente in Klassen integrieren
  Antworten mit Zitat      
Hallo allerseits Smile

Ich bin noch recht unerfahren in Matlab, bin aber grade dabei ein kleines Projekt damit zu realisieren:
Zusammengefasst geht es darum, eine (möglichst einfach modular) erweiterbare Programmstruktur zu entwerfen. Zu Beginn soll sie folgendes leisten können:

- Ist-und Solldaten empfangen und in einer Datenbank speichern
- diese Daten statistisch weiter auswerten, ebenfalls in einer weiteren Tabelle der DB abspeichern
- bestimmte Datensätze an die Anlage zurückschicken

Daraus ergibt sich dann folgende Klassenstruktur:

Superclass(Abstrakt) -Subclass
<<process>> -process1 -process2… (Soll-Werte der Anlage)
<<sensor>> -sensor1 -sensor2…. (Sensor-Istwerte)
<<controller>> -controller1 -controller2 …. (statistische Auswertung)

von der struktur her hat das auch alles bei manueller Commandwindow-Eingabe soweit geklappt.
--------

Da das Ganze auch eine GUI erhalten soll, habe ich versucht diese in meinen OOP Ansatz mit einzubeziehen.
Mein Ansatz dazu ist, dass ich zuerst eine Superklasse ergänze:

visu -process -sensor -controller -gui

von der die vorhanden Klassen ein einheitliches "Moduldesign" und sonstige wiederkehrende Methoden bezüglich der Visualisierung erben. (Die GUI der einzelnen Module ist zb. jeweils als Panel definiert etc…)

Zusätzlich habe ich die Klasse gui angelegt, die quasi der Rahmen des Ganzen ist - Instanzen von den anderen Klassen anlegt und diese in klasseninternen Feldern abspeichert.
Mein Gedanke dahinter war, dass ich so in einer gui Instanz zugriff auf jegliche involvierte andere Klassen/Instanzen habe und so die Problematik mit den getrennten Workspaces umgehe.
-----

Oberflächig scheint es auch zu funktionieren:
im gui Konstruktor lege ich jeweils eine Instanz von control1 sensor1 und process1 an und mittels zb. gui.control1.addToGui() auf einem Callback eines Buttons wird das Modul dann auch angezeigt.

Wenn ich jetzt allerdings zb. auf einem callback gui.sensor1.openMysqlConnection() ausführe (diese Methode instanziert ein database-element und speichert es unter sensor1.conn), wird dieses Feld,wenn ich display(gui.sensor1) in die openMysqlConenction() Methode packe, auch angezeigt, aber irgendwie erreicht das Ganze dann nicht die gui Instanz, denn dort hat sich an gui.sensor1 nichts verändert



Danke schonmal wenn jemand bis hierhin gelesen hat und mir halbwegs folgen konnte Wink

Aber meine Frage ist jetzt, ob ich irgendwo einen groben Denkfehler in meiner Konstruktion habe, ob es an Matlab spezifischen Eigenarten liegt, oder woran es sonst liegen könnte. Da ich wie gesagt nur Einsteiger-Wissen in JAVA habe bin ich da momentan etwas überfragt.

Gruß


heim0r
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 11.12.13
Wohnort: ---
Version: 2013a
     Beitrag Verfasst am: 11.12.2013, 19:17     Titel:
  Antworten mit Zitat      
so, direkt mal hier angemeldet und auch schon den ersten Anhaltspunkt gefunden:

könnte es sein, dass meine superklassen von handle erben müssen, damit es funktioniert??

gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 12.12.2013, 12:31     Titel:
  Antworten mit Zitat      
Hallo

Ja für die Interaktion mit der GUI sollten deine Klassen von der Klasse handle abgeleitet werden
Private Nachricht senden Benutzer-Profile anzeigen
 
heim0r
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 11.12.13
Wohnort: ---
Version: 2013a
     Beitrag Verfasst am: 18.12.2013, 14:37     Titel:
  Antworten mit Zitat      
jap super, hat geklappt Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.