Situation:
Erst - ich arbeite mit dem null-Layout. Mir ist klar, dass das einigen nicht gefällt.
Jegliche Kommentar zum null-Layout sind überflüssig und nicht gefragt
Ich erstelle ein JLabel mit einer fixen Größe, sagen wir
Dieses JLabel ändert je nach Aufruf seinen Text (funktioniert wunderbar).
Dafür, dass der Text etwas länger ausfallen kann, habe ich die Größe des JLabels definiert.
Sinn: Eigenes Fehler/Info/Warnung Fenster
Wie man sieht habe ich die Größe extra so gewählt, dass auch langer Text darin Platz hat.
Nun habe ich allerdings ein Problem.
Wenn der Text nicht wirklich sehr lange ist, so wird er immer vertikal-mittig ausgerichtet.
Da etwa 5 Zeilen Platz sind, sieht das nicht sehr gut aus.
Also habe ich mich ein wenig um Rat bemüht und die SwingConstants gefunden.
Also nochmal beim Erstellen:
Und schwupps spinnt der Compiler rum.
Das hier funktioniert, ist allerdings nicht die Ausrichtung die ich will (Links Oben):
Funktioniert.
Gut dachte ich mir, man kann die SwingConstants sicher später setzen.
Versuche:
Funktioniert alles nicht.
Wobei das Argument/der Parameter jeweils mit Component, mit SwingConstants sowie direkt getestet wurde.
Entweder spuckt der Compiler Fehler aus, oder es passiert gar nichts.
Meine Vermutung:
Ich zeichne im JFrame des Fensters ein JPanel, in dem ich die Methode paintComponent überschreibe um ein Hintergrundbild darzustellen und Komponenten auf dieses zu zeichnen.
Also wird auch das JLabel "label" in das JPanel aufgenommen.
Nur schränkt mir das die oben gezeigten Formatierungen ein. Ausgerechnet "Center", welches funktioniert, brauche ich nicht.
Hat jemand eine Lösung?
Gibt es evtl. etwas ähnliches wie JLabel? Hauptsache Transparent und innere Text-Ausrichtung nach Links-Oben.
Grüße,
Markus
Erst - ich arbeite mit dem null-Layout. Mir ist klar, dass das einigen nicht gefällt.
Jegliche Kommentar zum null-Layout sind überflüssig und nicht gefragt
Ich erstelle ein JLabel mit einer fixen Größe, sagen wir
Java:
new JLabel label = JLabel();
Dieses JLabel ändert je nach Aufruf seinen Text (funktioniert wunderbar).
Dafür, dass der Text etwas länger ausfallen kann, habe ich die Größe des JLabels definiert.
Sinn: Eigenes Fehler/Info/Warnung Fenster
Java:
label.setSize(230,150);
label.setLocation(20, 50);
Wie man sieht habe ich die Größe extra so gewählt, dass auch langer Text darin Platz hat.
Nun habe ich allerdings ein Problem.
Wenn der Text nicht wirklich sehr lange ist, so wird er immer vertikal-mittig ausgerichtet.
Da etwa 5 Zeilen Platz sind, sieht das nicht sehr gut aus.
Also habe ich mich ein wenig um Rat bemüht und die SwingConstants gefunden.
Also nochmal beim Erstellen:
Java:
new JLabel label = JLabel("", SwingConstants.NORTH_WEST);
Das hier funktioniert, ist allerdings nicht die Ausrichtung die ich will (Links Oben):
Java:
new JLabel label = JLabel("", SwingConstants.Center);
Gut dachte ich mir, man kann die SwingConstants sicher später setzen.
Versuche:
Java:
label.setAlignmentX(TOP_ALIGNMENT);
label.setAlignmentY(TOP_ALIGNMENT);
label.setVerticalTextPosition(JLabel.NORTH_WEST);
Wobei das Argument/der Parameter jeweils mit Component, mit SwingConstants sowie direkt getestet wurde.
Entweder spuckt der Compiler Fehler aus, oder es passiert gar nichts.
Meine Vermutung:
Ich zeichne im JFrame des Fensters ein JPanel, in dem ich die Methode paintComponent überschreibe um ein Hintergrundbild darzustellen und Komponenten auf dieses zu zeichnen.
Also wird auch das JLabel "label" in das JPanel aufgenommen.
Nur schränkt mir das die oben gezeigten Formatierungen ein. Ausgerechnet "Center", welches funktioniert, brauche ich nicht.
Hat jemand eine Lösung?
Gibt es evtl. etwas ähnliches wie JLabel? Hauptsache Transparent und innere Text-Ausrichtung nach Links-Oben.
Grüße,
Markus
Zuletzt bearbeitet: