Die Verknüpfung von zwei frames in java
Ich bin erstellen einer java-Anwendung, die besteht aus zwei frames(JFrame1 und JFrame2)
JFrame1 hat ein Gitter 6x6-Taste; und JFrame2 hat 6 radio-Knöpfe mit Farben. Wie kann ich einen link zwei frames, so dass, wenn eine Schaltfläche in JFrame1 geklickt wird, JFrame2 erscheint, und wenn eine Farbe ausgewählt ist, dass die JFrame2 geschlossen und das angeklickte Schaltfläche wird die jeweilige Farbe?
- Bitte nicht das Rad neu zu erfinden. Es ist bereits JColorChooser zu tun, was, die Sie suchen
- Ich bin zu begrenzen, die Benutzer auswählen, mit nur sechs Farben. Ist es möglich, dass wenn ich JColorChooser?
- Überprüfen Sie diesen link für eine funktionierende ExampleSie sollte mit einer
JDialog
statt einerJFrame
für die Auswahl an Farben, EineJFrame
so weit wie möglich in einer bestimmten Anwendung ist der Weg zu gehen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es besser, haben ein JFrame für jede Anwendung. Verwenden Sie eine für das 6x6-JButtons und erstellen Sie ein modales JDialog für Ihre Farbe JRadioButtons.
In Ihrem frame1 ' s button-Aktion listner, können Sie so etwas tun
wo "diese" bezieht sich auf die frame1-Objekt. Dies können Sie auf dessen jTEXTFIELD und jBUTTONs aus dem zweiten frame. Natürlich haben Sie speichern Sie in Frame1 Objekt deklariert, in der zweiten Klasse.
Angenommen, Sie haben ein anklickbares Feld Farbe frame2 Objekt, wenn Sie Sie anklicken, sollten Sie auslösen einer Funktion, die Eingabe-Feld von frame1 (mit Ihren locale-Objekt-Referenz) und speichern Sie es in es. so etwas wie dieses:
Sorry, wenn ich irgendwelche syntax-Fehler, es ist schon eine lange Zeit ich habe nicht die Arbeit mit java 🙂
Erstellen Sie einfach eine andere Klasse, lassen Sie uns sagen, FrameMananger, dann nutzen Sie das singleton-Muster, um Sie zu verwalten.
Dann in jeder Klasse, die Sie verwenden können, FrameManager.getFrame1 (), um die frame1, ebenso wie der frame2. Sie können auch eigene Logik Urteil im inneren, wie dynamisch entsorgen Sie die Rahmen-oder nur erstellen, wenn nötig.
Dieses Problem ist ziemlich weit verbreitet-Konzept, wenn Sie erstellen ein Spiel und versuchen, zu navigieren zwischen Ihre jede Ansicht(wie die Bewertung anzeigen-panel von überall).