Controller wird zu groß, was tun ?

Joob

Top Contributor
Ich habe ein kleines Programm geschrieben.
Dabei verwende ich TabPane.
Die Controller habe ich aufgeteilt, für jeden Tab.
Jetzt ergibt es sich aber das ich mehrere Tableviews in einem Tab verwenden möchte.
Das ist etwas unübersichtlich.

1. Was kann ich tun um die Steuerung der Tableviews noch einmal zu unterteilen.

2. Wenn ich die Methoden abstrahieren will, komme ich immer wieder an die Stelle in der ich unterschiedliche Methoden aufrufen muss, also Klasse.Methode. Kann man den Methodenaufruf mit Parametern regeln.
pulic classname (tabelview, Methodarray) {

dann bei Bedarf
CLASS1 class1 = new CLASS1();
class1.Methodarray[1] ;

Geht natürlich nicht so, aber dahin ziehlt meine Frage.


}
 

mrBrown

Super-Moderator
Mitarbeiter
1. Was kann ich tun um die Steuerung der Tableviews noch einmal zu unterteilen.
Naja, einfach den großen Controller aufteilen auf mehrere kleinere. Genauso, wie du es für die einzelnen Tabs gemacht hast.

2. Wenn ich die Methoden abstrahieren will, komme ich immer wieder an die Stelle in der ich unterschiedliche Methoden aufrufen muss, also Klasse.Methode. Kann man den Methodenaufruf mit Parametern regeln.
pulic classname (tabelview, Methodarray) {

dann bei Bedarf
CLASS1 class1 = new CLASS1();
class1.Methodarray[1] ;

Geht natürlich nicht so, aber dahin ziehlt meine Frage.
Ehrlich gesagt versteh ich absolut nicht, was du damit meinst...

Wenn du unterschiedliche Methoden auf unterschiedlichen Objekten aufrufen musst, dann mach das doch einfach?
Hast du irgendeinen Beispielfall, wo man sowas wie dein Konstrukt bräuchte?
 

Joob

Top Contributor
Hallo,

1. du meinst weiter verschachteln, ich mach ja mit Inject und dann das Tabelview mitteilen und dort dann die Funktionalität unterbringen ?

zu 2 schreib ich morgen noch was, muss gerade weg und kann das nicht verschieben.
 

mrBrown

Super-Moderator
Mitarbeiter
1. du meinst weiter verschachteln, ich mach ja mit Inject und dann das Tabelview mitteilen und dort dann die Funktionalität unterbringen ?
Wenn das dafür nötig ist, dann ja.

Was machen denn bisher bei dir die Controller?
MVC-konform nur Behandlung von Eingaben oder ist dort die gesamte Logik untergebracht?
 

Joob

Top Contributor
Hallo,

erst einmal zu 2. und wahrscheinlich hast du mit deiner Frage hinsichtlich der Controller mein Problem schon angeschnitten.

Code:
public void changeLevelCellEvent(CellEditEvent editLevel) {
     
        MaintenanceLevelsTVC levelSelected = tvmainlevels.getSelectionModel().getSelectedItem();
        // Value vor Änderung wird für mustSafeLanguage und fehlerhaftem Update benötigt
        levelByGoin = levelSelected.getLevel();                       
        levelSelected.setlevel(editLevel.getNewValue().toString());

        // auf Änderung pürfen
        if (!levelSelected.getLevel().equals(levelByGoin)) {
            goinLevelTVO.setlevel(levelSelected.getLevel());                // Zur Sicherung der letzten Änderung vor dem Verlassen
            mustSafeLevel = true;
        }
        tvmainlevels.requestFocus();                                         // Set Focus on edited element
    }

Es handelt sich um eine Methode aus einem Tabelview mit Pulldown und enum in der Zelle

in der Zeile 5 levelByGoin... beziehe ich mich auf ein Objekt in einer ObsList aus der das Tableview besteht.
Wenn ich diese Logik in eine seperate Klasse packen möchte und die Klasse für verschiedene Objekt verwenden möchte habe ich das Problem das die Methode ..getLevel() natürlich in jeder Klasse ObsListen anders heißt, das müsste ich der Methode dann sagen, ich kenne aber die Notation dafür nicht.

Ich denke du hast schon auf den problematischen Punkt mit deiner Frage hinsichtlich der Logik hingewiesen, ich habe noch keinen Plan wie ich die Logik komplett aus dem Controller heraushalten kann. Vielleicht kannst du mir ja einen Hinweis geben wie das angehen soll.
 

mrBrown

Super-Moderator
Mitarbeiter
Wenn ich diese Logik in eine seperate Klasse packen möchte und die Klasse für verschiedene Objekt verwenden möchte habe ich das Problem das die Methode ..getLevel() natürlich in jeder Klasse ObsListen anders heißt, das müsste ich der Methode dann sagen, ich kenne aber die Notation dafür nicht.
Man muss ja nicht die gleiche Klasse für verschiedene Views nutzen, grad auch wenn die unterschiedliche Dinge darstellen ;)

*wenn* nötig, kann man das z.T. mit Generics und ein wenig Vererbung/Komposition lösen - würde ich aber in dem Teil nicht unbedingt machen.

Ich denke du hast schon auf den problematischen Punkt mit deiner Frage hinsichtlich der Logik hingewiesen, ich habe noch keinen Plan wie ich die Logik komplett aus dem Controller heraushalten kann. Vielleicht kannst du mir ja einen Hinweis geben wie das angehen soll.
Naja, dass kommt ganz auf die Logik an.
Oftmals kann man die in den entsprechenden Objekten unterbringen, ansonsten sind da z.B. die GRASP-Patterns und dabei die Controller (die ungleich den MVC-Controllern sind ;)) einen Blick wert.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
MiMa Strukturierung und Organisation von umfangreiche Controller AWT, Swing, JavaFX & SWT 1
R Fxml findet controller nicht AWT, Swing, JavaFX & SWT 2
_user_q Objekte vom MainController in anderen Controller verwenden und andersherum (NullPointerException) AWT, Swing, JavaFX & SWT 14
sserio Wie funktioniert ein Controller bei JavaFx? AWT, Swing, JavaFX & SWT 1
A JavaFX Controller Problem AWT, Swing, JavaFX & SWT 1
I JavaFX - Pane wechseln über 2. Controller AWT, Swing, JavaFX & SWT 5
S JavaFX Fehler zwischen View und Controller bei MouseEvent (MVC) AWT, Swing, JavaFX & SWT 13
M4cM4rco0707 JavaFX Custom-Komponente mit Custom-Controller AWT, Swing, JavaFX & SWT 3
W Daten von Controller zu Controller übertragen AWT, Swing, JavaFX & SWT 7
J Saubere Trennung Model, View, Controller Javafx AWT, Swing, JavaFX & SWT 10
M JavaFX JavaFX in mehrere Controller AWT, Swing, JavaFX & SWT 21
OSchriever Auf Stage von FXML-Controller zugreifen AWT, Swing, JavaFX & SWT 12
J JavaFX JavaFX Splitpane - Zugriff auf die Controller der Elemente AWT, Swing, JavaFX & SWT 8
L JavaFX Exception nach includieren einer fxml // nested controller AWT, Swing, JavaFX & SWT 1
G JavaFX SplitPane Anwendung - Controller Probleme AWT, Swing, JavaFX & SWT 5
J Injection - Aber Controller sind null AWT, Swing, JavaFX & SWT 3
J Controller ist null - Warum AWT, Swing, JavaFX & SWT 3
@SupressWarnings() JavaFX Auf den Controller einer ListCell zugreifen AWT, Swing, JavaFX & SWT 4
L Javafx Controller Klasse in Maven AWT, Swing, JavaFX & SWT 7
M NullPointerException / Controller AWT, Swing, JavaFX & SWT 4
ralfb1105 JavaFX Daten zwischen Controller "austauschen" AWT, Swing, JavaFX & SWT 65
ralfb1105 JavaFX Exception Message von Model Class via Controller in View darstellen AWT, Swing, JavaFX & SWT 39
R JavaFX Übergabe von Parametern an Controller AWT, Swing, JavaFX & SWT 7
MiMa GUI Controller für Border Pane als MVC Modell AWT, Swing, JavaFX & SWT 1
K JavaFX in mehrere Controller aufteilen AWT, Swing, JavaFX & SWT 29
K JavaFX in mehrere Controller aufteilen AWT, Swing, JavaFX & SWT 0
F JavaFX ListView füllen in Controller Class AWT, Swing, JavaFX & SWT 12
L JavaFX Zugriff auf HostServices im FXML Controller AWT, Swing, JavaFX & SWT 1
V JavaFX Button Controller Fehler, trotz Erfolg in einem anderem Code? AWT, Swing, JavaFX & SWT 7
L Wie realisiere ich einen Controller AWT, Swing, JavaFX & SWT 1
M Java FX SceneBuilder 2.0, FXML, Controller AWT, Swing, JavaFX & SWT 1
T JavaFX Controller im extra Thread AWT, Swing, JavaFX & SWT 0
I JavaFX Im Controller die ProgressBar mit Task updaten AWT, Swing, JavaFX & SWT 6
A JavaFX Von Klasse auf Controller Inhalt zugreifen AWT, Swing, JavaFX & SWT 9
KrokoDiehl JavaFX Gleiche Controller-Instanz für inludiertes FXML AWT, Swing, JavaFX & SWT 1
A JavaFX Controller Class saveFile AWT, Swing, JavaFX & SWT 2
X JavaFX getScene().getWindow() im JavaFX Controller AWT, Swing, JavaFX & SWT 1
D JavaFX Gesetzte Variable in einem Controller im Controller laden AWT, Swing, JavaFX & SWT 1
L JavaFX Verständnisfrage zu JavaFX FXML und Controller-Klasse AWT, Swing, JavaFX & SWT 1
K Kann nicht auf GUI Elemente zugreifen, mit einer Methode im Controller klappts, mit der anderen nich AWT, Swing, JavaFX & SWT 10
Z JAVAFX Stage über Controller weitergeben um css-file zu laden AWT, Swing, JavaFX & SWT 4
D JavaFX Controller Klasse splitten? AWT, Swing, JavaFX & SWT 16
F JavaFX Zugriff auf Controller Methode von einer normalen Klasse aus AWT, Swing, JavaFX & SWT 4
C JavaFX Controller class AWT, Swing, JavaFX & SWT 2
M Java FX Daten an Controller übergeben AWT, Swing, JavaFX & SWT 3
D JavaFX Zugriff auf Controller erlangen AWT, Swing, JavaFX & SWT 4
W JavaFX Label in Controller-Klasse in einer anderen Controller-Klasse ändern AWT, Swing, JavaFX & SWT 9
B mouseOnEntered ( Controller richtig implementieren) AWT, Swing, JavaFX & SWT 4
S View-Komponenten im Controller bekannt machen AWT, Swing, JavaFX & SWT 7
G Swing MVC / View - Controller AWT, Swing, JavaFX & SWT 7
R Model View Controller Konzept AWT, Swing, JavaFX & SWT 2
F Element anzeigen / erstellen. Maus vs Controller AWT, Swing, JavaFX & SWT 7
J Swing MVC mit Java Swing, insbesondere die Controller-Struktur AWT, Swing, JavaFX & SWT 4
A Controller für RCP AWT, Swing, JavaFX & SWT 2
J Swing Controller im MVC-Pattern AWT, Swing, JavaFX & SWT 9
M Swing Von einem Controller aus View-Elemente ändern AWT, Swing, JavaFX & SWT 11
D Design - View & Controller AWT, Swing, JavaFX & SWT 2
R Checkboxen - Event mit Controller abfangen AWT, Swing, JavaFX & SWT 7
P Verbindung View und Controller AWT, Swing, JavaFX & SWT 3
F MVC --> was ist der Controller? AWT, Swing, JavaFX & SWT 2
F MVC: Update von View und Controller AWT, Swing, JavaFX & SWT 5
S MVC - Neues Frame, neue View, neuer Controller? AWT, Swing, JavaFX & SWT 3
C Model View Controller - Beispielimplementation AWT, Swing, JavaFX & SWT 5
M SWT und Model View Controller? AWT, Swing, JavaFX & SWT 8
P Methode wird nicht überprüft AWT, Swing, JavaFX & SWT 4
P paintComponent-Methode wird dauernd neu aufgerufen AWT, Swing, JavaFX & SWT 2
G JavaFX LineChart Datenpunkte Markierung wird abgeschnitten AWT, Swing, JavaFX & SWT 1
P JTextField wird nur sehr klein angezeigt und verändert die Größe nicht AWT, Swing, JavaFX & SWT 3
Telisti Javafx Image wird nicht richtig integiert AWT, Swing, JavaFX & SWT 8
J Netbeans die JavaFX-Anwendung wird nicht ausgeführt AWT, Swing, JavaFX & SWT 16
N €-Zeichen wird nicht akzeptiert AWT, Swing, JavaFX & SWT 4
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
berserkerdq2 Wie füge ich ein Bild in javafx mit dem Scenebuilder ein, das automatisch mitgezogen wird, wenn das Fenster vergrößert wird oder Vollbildmodus AWT, Swing, JavaFX & SWT 6
L jComboBox Actionlistener wird beim erstmaligen Befüllen getriggert AWT, Swing, JavaFX & SWT 7
_user_q Objekt.setSelected(false), wenn es nicht mehr fokussiert wird AWT, Swing, JavaFX & SWT 2
S Javafx getResource-Pfad wird nicht erkannt AWT, Swing, JavaFX & SWT 7
U Warum wird zweimal die Affinetransformation estellt (2Dgraphics, Java)? AWT, Swing, JavaFX & SWT 31
DonBronson Gezeichnetes Objekt verschwindet nachdem erneut gezeichnet wird AWT, Swing, JavaFX & SWT 8
ProggersWorld JavaFX TextArea BackgroundImage wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
M Bild wird nicht geladen obwohl sie gefunden wird AWT, Swing, JavaFX & SWT 0
M Nach Export als Runnable Jar wird css nicht merh gefunden AWT, Swing, JavaFX & SWT 22
izoards Outlook Mail erstellen - Signatur wird nicht angezeigt. AWT, Swing, JavaFX & SWT 3
J actionperformed wird nicht aufgerufen/ repaint() AWT, Swing, JavaFX & SWT 6
J Swing Komponente wird unpassend angepasst in der Größe AWT, Swing, JavaFX & SWT 35
J Java FX NullPointerException, ObservableList wird in View nicht angezeigt.. AWT, Swing, JavaFX & SWT 34
S Next_Button wird nicht ausgeführt. AWT, Swing, JavaFX & SWT 6
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
J Komponente wird manchmal falsch gezeichnet AWT, Swing, JavaFX & SWT 0
J Swing JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
JMölleri Swing Image wird unscharf dargestellt AWT, Swing, JavaFX & SWT 2
JojoSand Java Programm wird nicht gestartet - keinen Fehlerhinweis AWT, Swing, JavaFX & SWT 9
R Text vom Jlabel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
D JavaFX Bearbeitetes Bild wird nicht gespeichert AWT, Swing, JavaFX & SWT 9
J setOnCloseRequest wird nicht ausgelöst AWT, Swing, JavaFX & SWT 3
P JavaFX Fenster wird nicht angezeigt (Mac) AWT, Swing, JavaFX & SWT 13
B JavaFX Bei Scenen-Wechsel im primaryStage wird aktuelle Fenstergröße nicht mit übernommen AWT, Swing, JavaFX & SWT 16
B JavaFX Warum wird hier eine NullPointer-Exception geworfen? AWT, Swing, JavaFX & SWT 7
M JavaFX javaFX Label-Text wird nicht gesetzt AWT, Swing, JavaFX & SWT 3
O Swing "Eigenes" JPanel wird dem JScrollPane nicht hinzugefügt AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben