Ich habe zwei verschiedene und unabhängige JFrame
Fenster auszuführen:JFrame für den Datenempfang wartet seine Aufgabe
DataFrame
GraphFrame
Die erste ist für den Benutzer zu manipulieren, mit der Eingabe von verschiedenen Werten und Mustern zur Darstellung in einem Diagramm, dargestellt in 2). Die 1) sendet spezifische Werte an 2) (Array mit Doppel), so dass "GraphFrame" das Diagramm erstellen kann.
Ich rufe die "main" -Methode von GraphFrame in der "Main" -Methode von DataFrame auf, so dass beide gleichzeitig laufen und beide während des gesamten Prozesses sichtbar sind.
Ich möchte, dass diese Rahmen völlig unabhängig sind, was bedeutet, dass die Mission für 1) das Senden von Werten ist und die Aufgabe für 2) darin besteht, zu überprüfen, wann Werte empfangen werden und dann den Graphen zu erstellen.
Ich bevorzuge es auch, die meisten Methoden privat zu halten, so dass sie nicht von externen Quellen zugegriffen werden können.
Mein Problem ist, dass ich nicht weiß, welcher der beste Weg ist, diesen Datenaustausch zu implementieren. Was ist der beste Weg für Frame 2) "Zuhören" für die Werte, die es empfangen muss?
Soll ich Getter/Setter auf 2) und mit Hilfe eines Observer https://sourcemaking.com/design_patterns/observer erstellen?
Oder sollte ich Gewinde verwenden?
oder auch die Schaffung eines traditionellen Schleife, die für Werte wartet immer wieder, wie:
while(array.isEmpty()) {
//stuck here
}
//create the graph from the values in array
Im Moment habe ich die Werte in 2) von Setter-Methoden erhalte, aber ich bin unfähig, so weit, den gewünschten Code nur auszuführen, nachdem ich die Werte erhalten habe.
Was denken Sie, ist der beste Weg, dies zu implementieren?
S.S .: Sollte ich erwägen, nicht GraphFrame
Haupt von DataFrame
aufrufen und diese 2 separat laufen?
Siehe [Die Verwendung mehrerer JFrames, gute/schlechte Praxis?] (Http://StackOverflow.com/q/9554636/418556) –
* "JFrame wartet auf den Datenempfang, um seine Aufgabe zu erfüllen" * Konvertieren Sie ein Bild in ein modaler 'JDialog' oder ein' JOptionPane'. Fragen Sie die Steuerelemente unmittelbar nach 'setVisible (true)' ab. Die auf diesen Aufruf folgenden Codeanweisungen werden erst fortgesetzt, wenn sie geschlossen werden. –
Hallo @AndrewThompson, ich habe diesen Thread schon mehrmals gesehen und gelesen, und ich habe Layouts verwendet, um mehrere JFrames zu vermeiden. Aber für das, was ich erstelle, brauche ich diese 2 (und werde nur 2 sein), weil der "DataFrame" eine reale Umgebung simuliert, also wird es meistens verwendet, um "GraphFrame" zu testen. Es ist in der Tat der Eindruck, dass es zwei verschiedene Apps sind und nicht nur eine. Daher mein P.S. in meinem Thread. – Nhekas