Ich habe Java an meiner Universität studiert, ich bin ziemlich neu, aber ich versuche, mein Bestes zu tun, um zu verbessern. Ich versuche, eine GUI einzurichten, die ein Raster von Grass Tiles (mit JLabels mit Grass-Symbolen) anzeigt, aber ich möchte einige andere Symbole auf dem Gras (Character-Symbole) hinzufügen, so dass ich einen stehenden Charakter sehen kann auf dem Gras. Ich dachte, ich könnte es tun, indem ich JLayeredPane benutze und ein anderes JLabel am selben Ort, aber mit einer höheren Layer-Priorität hinzufüge, aber es scheint nicht zu funktionieren. Irgendwelche Ratschläge, was ich tun sollte?Hinzufügen eines JLabel mit einem transparenten Hintergrundsymbol über einem anderen JLabel und Anzeigen beider
Thanks :)
EDIT: Ich schaffte dies mit MigLayout und die setOpaque (false) Anweisung zu tun. Danke für Ihre Antworten :)
Es gibt eine Reihe von Möglichkeiten, wie Sie dies tun können. Sie können einen Layout-Manager auf die Grasbeschriftungen anwenden, sodass Sie ihnen Komponenten hinzufügen können. Auf diese Weise können Sie ein "GridLayout" einfach zum Anzeigen der Graskacheln verwenden oder Sie können eine benutzerdefinierte Komponente erstellen, die ihren Hintergrund mit dem Grasbild malt. Fügen Sie erneut einen Layout-Manager hinzu, damit Sie Komponenten hinzufügen können. Beide haben Vorteile, das benutzerdefinierte Panel ist komplizierter, aber bietet Ihnen mehr Kontrolle über die Größe der Komponente, das Etikett ist einfacher, wird aber immer nur die Größe des Symbols, nicht sein Inhalt – MadProgrammer
Es ist in Ordnung, wenn die Etiketten sind Größe des Symbols. Wenn Sie Zeit haben, könnten Sie bitte einen Beispielcode dafür posten? –
Anstatt Ihre Frage mit "Ich löste dies durch ..." zu bearbeiten, fügen Sie bitte eine Antwort zu Ihrer Frage hinzu (einschließlich des Codes in Form eines [mcve]), damit jeder, der diese Frage in der Zukunft sieht, weiß wie um es zu tun, wenn sie mit einem ähnlichen Problem oder einer ähnlichen Frage kommen. @MadProgrammer hat keinen Beispielcode dafür gepostet, weil Sie keinen Code veröffentlicht haben, um damit zu arbeiten, aber hier sind einige [Beispiele] (http://stackoverflow.com/questions/19125707/simplet-way-to-set-image- as-jpanel-background) und [hier] (http://stackoverflow.com/questions/1466240/how-to-set-an-image-as-a-background-for-frame-in-swing-gui-of -java) – Frakcool