Interface 2 von einander unabhängige Frames mit Panel gleichzeitig nutzen

CptK

Bekanntes Mitglied
Hallo, ich würde gerne 2 JFrames mit je einem JPanel gleichzeitig nutzen. Geht so etwas, weil momentan habe ich das Problem, dass nach repaint() beide das gleiche zeigen.
 
K

kneitzel

Gast
Kannst Du da bitte ausführen, was Du genau machst?

Eine JPanel Instanz in zwei JFrames anzeigen halte ich für Problematisch, denn es sollte eigentlich eine Baumstruktur vorhanden sein. Also eine Instanz von JPanel in zwei JFrames gleichzeitig einzufügen ist so nicht unterstützt. (Alle Swing Komponenten erben von Component und da ist ein Parent definiert. Daher hat ein Element genau ein Parent!)

Aber evtl. verstehe ich auch einfach nur nicht korrekt, was Du genau machst. Zeig einfach mal etwas Code.
 

CptK

Bekanntes Mitglied
Ja du hast mich etwas falsch verstanden, ich möchte gerne zwei Frames, die jeweils ein eigenes Panel haben. Mein Problem ist jetzt aber, dass beide Panels das gleiche anzeigen, obwohl sie unterschiedliches anzeicgen sollten.
 
K

kneitzel

Gast
Kannst du da einmal Deinen Code zeigen? So ohne genaue Details ist da erst einmal nichts zu sagen.
 

CptK

Bekanntes Mitglied
Ich weiß leider nicht an welchen Klassen das liegt deshalb hänge ich mal das Projekt mal an. Package Gui und Algorithm müsste es sein.
 

Anhänge

  • MergeSort.zip
    22,2 KB · Aufrufe: 4
K

kneitzel

Gast
Ok, ich habe mir das jetzt einmal angesehen und wenn ich main.MergeSort starte, dann bekomme ich nur ein Fenster. Da Du aber von 2 Fenstern sprichst, wird es um main.Main gehen.

Da öffnen sich bei mir zwei Fenster, eins mit Balken und eins, das eine Textausgabe zeigt. Nur was genau ist jetzt das Problem? Das habe ich auf Anhieb jetzt nicht gesehen.

Was ich noch gemacht habe: Ich habe in den beiden Frames ein setTitle aufgerufen, damit ich einfacher sehen konnte, welches Fenster durch was dargestellt wird.
Dann habe ich im TreePanel in paintComponent das fillRect rausgenommen - denn dieses Kästchen machte ja erst einmal keinen Sinn, oder?

Was direkt auffällt ist, dass die Klassen extrem viele Abhängigkeiten zueinander haben. So kennt Dein algorithm die GUI Klassen. Das ist natürlich nicht ganz so gut. Aber das ist dann eine Design Frage. Da können wir später einmal drüber reden, wenn Du mir das eigentliche Problem einmal erläutert hast:
- Was ist die Ausgabe, die Du bekommst und was würdest Du erwarten?
 
K

kneitzel

Gast
Ich habe es aber mit einem JDK 11 ausgeführt und nicht mit einem 8er. Aber würde mich wundern, wenn das einen massiven Unterschied machen würde. Zeig einfach einmal, wie es bei Dir aussieht.
 

mihe7

Top Contributor
Zeigt bei mir auch zwei Fenster mit verschiedenen Inhalten an - ich hab noch nicht mal neu kompiliert, sondern einfach Deine .class-Files verwendet. Dafür erhalte ich ein kleines schwarzes Rechteck im Textausgabefenster :eek:

12760
 
K

kneitzel

Gast
Zeigt bei mir auch zwei Fenster mit verschiedenen Inhalten an - ich hab noch nicht mal neu kompiliert, sondern einfach Deine .class-Files verwendet. Dafür erhalte ich ein kleines schwarzes Rechteck im Textausgabefenster :eek:

Das Kästchen hatte ich auch - das war eine Anpassung von mir (War ein fillRect Aufruf im paintComponent). Und ich habe die Fenster mit Titeln versehen damit ich da nichts durcheinander werfe - das war einfach vorab ehe ich nach Auffälligkeiten geschaut habe....

Meine Idee wäre gewesen, dass da evtl. etwas nicht übersetzt worden ist. Aber wenn @mihe7 die .class Files verwendet hat, dann scheidet das eigentlich aus.

Du startest aus Eclipse heraus oder wie startest Du dein Programm?
 

CptK

Bekanntes Mitglied
Das Kästchen hatte ich auch - das war eine Anpassung von mir (War ein fillRect Aufruf im paintComponent). Und ich habe die Fenster mit Titeln versehen damit ich da nichts durcheinander werfe - das war einfach vorab ehe ich nach Auffälligkeiten geschaut habe....

Meine Idee wäre gewesen, dass da evtl. etwas nicht übersetzt worden ist. Aber wenn @mihe7 die .class Files verwendet hat, dann scheidet das eigentlich aus.

Du startest aus Eclipse heraus oder wie startest Du dein Programm?
Jap Eclipse Photon falls das einen Unterschied macht
 

mihe7

Top Contributor
Naja, Du erzeugst in einem Panel einen Frame, die Frames werden im Konstruktor sichtbar gemacht, das ganze passiert auch noch außerhalb des EDT. Du kannst spaßeshalber mal ausprobieren, ob es was bringt, wenn Du Main so umschreibst:
Java:
public class Main {

        public static void main(String[]args) {
                SwingUtilities.invokeLater(() -> new gui.Frame());
        }

}
 

CptK

Bekanntes Mitglied
Naja, Du erzeugst in einem Panel einen Frame, die Frames werden im Konstruktor sichtbar gemacht, das ganze passiert auch noch außerhalb des EDT. Du kannst spaßeshalber mal ausprobieren, ob es was bringt, wenn Du Main so umschreibst:
Java:
public class Main {

        public static void main(String[]args) {
                SwingUtilities.invokeLater(() -> new gui.Frame());
        }

}
Hat leider nichts gebracht :/
 

mihe7

Top Contributor
Was passiert denn, wenn Du
Code:
java -Dsun.noddraw=true -cp . main.Main
im bin-Verzeichnis startest?
 

mihe7

Top Contributor
Und du bist Dir sicher, dass Du das mit den Klassen aus dem Zip probierst? Ohne den Spaß vorher in einer IDE zu öffnen? Wenn ja, was spuckt denn java -version aus?
 

CptK

Bekanntes Mitglied
Und du bist Dir sicher, dass Du das mit den Klassen aus dem Zip probierst? Ohne den Spaß vorher in einer IDE zu öffnen? Wenn ja, was spuckt denn java -version aus?
wie navigiere ich denn in den Zip folder um das aufzurufen?

Code:
C:\Users\User>java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
 
K

kneitzel

Gast
Ein virtueller Keks genügt mir völlig :)
Gib mir einen Moment ... ich baue eben schnell eine Seite, die Dir einen virtuellen Keks gibt. Muss Dein Browser dann nur annehmen :)

Gibt es Wünsche, was im Cookie stehen soll? Sonst wird es ein einfaches "message=Wünsche ein frohes Weihnachtsfest und einen guten Rutsch ins neue Jahr!".
 

CptK

Bekanntes Mitglied
Leute ich finde eure Diskussion hier ja sehr amüsant, aber ich würde mich wirklich sehr freuen, wenn mir wer mit meinem Problem helfen könnte.
 

mihe7

Top Contributor
Java:
public class Test {
    public void createAndShowGUI() {
        newFrame("Frame 1", "Test 1");
        newFrame("Frame 2", "Test 2");
    }
    private void newFrame(String title, String content) {
        JFrame frame = new JFrame(title);
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.add(new JLabel(content));
        frame.setSize(300, 200);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> new Test().createAndShowGUI());
    }
}
Liefert das bei Dir zwei unterschiedliche Fenster?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zeppi OOP Methoden mit einander Verknüpfen Java Basics - Anfänger-Themen 6
F Input/Output 2 Textdateien mit einander vergleichen Java Basics - Anfänger-Themen 11
M Elemente in einer ArrayList einander zuordnen. Java Basics - Anfänger-Themen 18
K zwei GregorianCalender Datums von einander abziehen-> Problem! Java Basics - Anfänger-Themen 7
Joew0815 Zwei ArrayListen mit einander vergleichen Java Basics - Anfänger-Themen 33
Z Feld prüfen ob 3 gleiche zahlen nach einander vorkommen Java Basics - Anfänger-Themen 3
G zwei java nach einander ausführen Java Basics - Anfänger-Themen 14
O uhrzeit mit einander vergleichen Java Basics - Anfänger-Themen 10
G Frames mit einander verbinden Java Basics - Anfänger-Themen 10
G 2 Vorgänge nach einander ablaufen zu lassen Java Basics - Anfänger-Themen 13
M 2 Datum mit einander vergleichen ??? Java Basics - Anfänger-Themen 7
ruutaiokwu JRE-/JDK-unabhängige PBKDF2WithHmacSHA512-Implementierung Java Basics - Anfänger-Themen 16
D Plattform unabhängige System-variablen Java Basics - Anfänger-Themen 3
M OS unabhängige Visualisierung einer Steuerung Java Basics - Anfänger-Themen 12
I In der Mitte eines Frames mit BorderLayout etwas malen Java Basics - Anfänger-Themen 7
S Nach dem Herüberschieben eines Arrays zwischen 2 Frames öffnet sich das Frame nicht mehr Java Basics - Anfänger-Themen 12
S Position eines Frames Java Basics - Anfänger-Themen 3
S Frames Verbinden Java Basics - Anfänger-Themen 19
S Auf eine variable/objekt eines frames zugrifen Java Basics - Anfänger-Themen 22
C Einige Fragen zu Frames Java Basics - Anfänger-Themen 7
D Frame schließt gleich alle Frames Java Basics - Anfänger-Themen 5
U [Problem] Handling multiple frames Java Basics - Anfänger-Themen 5
G Aufrufen eines Frames aus einer anderen Klasse Java Basics - Anfänger-Themen 6
A Intelligente Anordnung von Frames in einer Fläche Java Basics - Anfänger-Themen 4
D Compiler-Fehler Frames verbinden Java Basics - Anfänger-Themen 6
S Mehrere Frames Java Basics - Anfänger-Themen 4
D JMenuBar und Hintergrund eines Frames Java Basics - Anfänger-Themen 2
M Zwei Frames ein ActionListener Java Basics - Anfänger-Themen 21
K Schließen eines Frames Java Basics - Anfänger-Themen 4
G Java-Frames funktionieren nach Neuinstallation nicht mehr. Java Basics - Anfänger-Themen 3
S Frames schließen Java Basics - Anfänger-Themen 14
D Sound in Frames möglich? EDIT Class Clip Java Basics - Anfänger-Themen 5
V Wie auf Elemente des Frames zugreifen Java Basics - Anfänger-Themen 4
A frames layout Java Basics - Anfänger-Themen 4
Z frames Java Basics - Anfänger-Themen 3
G Frames unabhänig schliessen. Java Basics - Anfänger-Themen 2
G Ist es möglich, den 'Rahmen' eines Frames durch Grafiken. Java Basics - Anfänger-Themen 5
G Liste in mehreren unabhängigen Frames aktualisieren. Java Basics - Anfänger-Themen 6
V Aufruf eines Frames Java Basics - Anfänger-Themen 6
H 3 buttons in 3-spalten eines frames Java Basics - Anfänger-Themen 3
E Farbänderung des Frames bei Klick . Java Basics - Anfänger-Themen 7
B Analoguhr und openTime eines Frames Java Basics - Anfänger-Themen 6
G Applets in Frames & Bilder Java Basics - Anfänger-Themen 10
P Beide frames werden geschlossen Java Basics - Anfänger-Themen 2
M Infernal Frames Java Basics - Anfänger-Themen 4
G mehrere Frames nacheinander aktualisieren Java Basics - Anfänger-Themen 2
G Methode zum schliessen eines frames - nicht durch windows X Java Basics - Anfänger-Themen 14
D Menü soll immer da bleiben - Frames sollen wechseln Java Basics - Anfänger-Themen 3
Chucky 2 Frames Farbwahl durch Buttons Java Basics - Anfänger-Themen 10
P Frage zu Frames: Fenster sichtbar, unsichtbar machen Java Basics - Anfänger-Themen 1
G Frames Java Basics - Anfänger-Themen 4
M 2 Frames Java Basics - Anfänger-Themen 16
M Daten zwischen Frames austauschen Java Basics - Anfänger-Themen 2
M 2 frames separat schliessen Java Basics - Anfänger-Themen 22
D Frage zu Frames! Java Basics - Anfänger-Themen 9
S Zwei Frames miteinander verbinden Java Basics - Anfänger-Themen 5
Q Kommunikation zwischen Frames Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben