Hallo Forengemeinde,
vorneweg erst mal ein Dankeschön für die unzähligen hilfreichen Beiträge hier drin, die haben mir schon des Öfteren weitergeholfen. Ein paar Probleme sind aber doch etwas hartnäckiger...
Ich habe vor einiger Zeit ein kleines Projekt gestartet, wollte mit Swing einen Kreuzworträtselgenerator bauen. Aufgrund von Zeitmangel und weil ich zwischenzeitlich feststeckte, ist die Sache eine Weile liegen geblieben. Aber das soll nicht so bleiben.
Der Einfachheit halber habe ich alle benötigten Fensterinhalte in eigene Klassen gepackt und mit createAndShowGUI aus den Java-Tutorials lauffähig gemacht. Das klappt so weit, allerdings soll das natürlich zum Schluss alles in einem Fenster ablaufen. Da fangen dann die Probleme an.
Zum einen gibt es dafür ja das CardLayout, was hier auch öfter empfohlen wird. Leider verlief der "Einbau" nicht wirklich erfolgreich: Es wurde nur der Startframe angezeigt, das Umschalten funzte nicht (obwohl der Button reagiert hat).
Von der Sache her hätte ich auch lieber eine Methode, die mir einen anderen ContentPane anzeigt, sodass ich per Button zwischen den Panes hin und her schalten kann. Lässt sich das irgendwie machen? Ich hatte mir vorgestellt, den aktuellen ContentPane zu verstecken und den aufgerufenen anzuzeigen. Kann es da Performance-Probleme geben?
Mein zweites Problem ist derzeit noch die Ausgabe, da habe ich nur eine vage Vorstellung, wie die aussehen soll. Ich möchte das fertige Rätsel, das in einer ArrayList liegt, als Bild abspeichern, einmal leer und einmal ausgefüllt (als Lösung). Die Umschreibungen stehen außerhalb des Rätsels. Die Abmessungen des Bildes sollen vom User durch Eingabe von Breite x Höhe und Auflösung (dpi) bestimmbar sein.
Die benötigten Grafikelemente muss ich wohl mit Graphics2D zuerst erstellen. Noch keine Idee habe ich, wie das dann zusammen anzuordnen ist, damit auch die Größenverhältnisse Grafik - Text stimmen. Das Abspeichern sollte am Ende sicherlich weniger ein Problem sein. Falls jemand damit Erfahrung hat oder schon mal was Ähnliches gemacht hat, wäre ich für Hinweise und Tipps dankbar.
Can
vorneweg erst mal ein Dankeschön für die unzähligen hilfreichen Beiträge hier drin, die haben mir schon des Öfteren weitergeholfen. Ein paar Probleme sind aber doch etwas hartnäckiger...
Ich habe vor einiger Zeit ein kleines Projekt gestartet, wollte mit Swing einen Kreuzworträtselgenerator bauen. Aufgrund von Zeitmangel und weil ich zwischenzeitlich feststeckte, ist die Sache eine Weile liegen geblieben. Aber das soll nicht so bleiben.
Der Einfachheit halber habe ich alle benötigten Fensterinhalte in eigene Klassen gepackt und mit createAndShowGUI aus den Java-Tutorials lauffähig gemacht. Das klappt so weit, allerdings soll das natürlich zum Schluss alles in einem Fenster ablaufen. Da fangen dann die Probleme an.
Zum einen gibt es dafür ja das CardLayout, was hier auch öfter empfohlen wird. Leider verlief der "Einbau" nicht wirklich erfolgreich: Es wurde nur der Startframe angezeigt, das Umschalten funzte nicht (obwohl der Button reagiert hat).
Von der Sache her hätte ich auch lieber eine Methode, die mir einen anderen ContentPane anzeigt, sodass ich per Button zwischen den Panes hin und her schalten kann. Lässt sich das irgendwie machen? Ich hatte mir vorgestellt, den aktuellen ContentPane zu verstecken und den aufgerufenen anzuzeigen. Kann es da Performance-Probleme geben?
Mein zweites Problem ist derzeit noch die Ausgabe, da habe ich nur eine vage Vorstellung, wie die aussehen soll. Ich möchte das fertige Rätsel, das in einer ArrayList liegt, als Bild abspeichern, einmal leer und einmal ausgefüllt (als Lösung). Die Umschreibungen stehen außerhalb des Rätsels. Die Abmessungen des Bildes sollen vom User durch Eingabe von Breite x Höhe und Auflösung (dpi) bestimmbar sein.
Die benötigten Grafikelemente muss ich wohl mit Graphics2D zuerst erstellen. Noch keine Idee habe ich, wie das dann zusammen anzuordnen ist, damit auch die Größenverhältnisse Grafik - Text stimmen. Das Abspeichern sollte am Ende sicherlich weniger ein Problem sein. Falls jemand damit Erfahrung hat oder schon mal was Ähnliches gemacht hat, wäre ich für Hinweise und Tipps dankbar.
Can