Frage von Jibenni, 39

Java größe der länge anzeigen lassen?

Wie kann ich in Java die größe der länge von z.b. ("hello world") anzeigen lassen? ich meine nicht die .lenght funktion

Antwort
von mastema666, 19

Die Breite in Pixel oder wie?

Dafür gibts afaik keine Funktion (Java ist zwar nicht so mein Fall, aber auch in anderen Programmiersprachen wäre mir sowas nicht bekannt), die einzige Möglichkeit, die mir da einfiele, wäre eine "nichtproportionale" (oder auch "Monospace") Schriftart zu benutzen, also eine mit fester Breite pro Zeichen, dann könntest du wiederum mit Hilfe von ".length" die Breite berechnen.

Kommentar von Jibenni ,

ja die breite in pixeln sollte auch gehen, wie bestimmt man die am kürzesten

Kommentar von mastema666 ,

Naja, mit einer Monospace Schrift eigtl ganz einfach, "breite = deintext.length() * <genutzte Schriftgröße>" so ungefähr sollte das funktionieren.

Expertenantwort
von KnusperPudding, Community-Experte für Java, 15

ich meine nicht die .lenght funktion

Also geht es dir nicht um die Zeichenanzahl.

Sondern um die Höhe und Breite einer Ausgabe in Pixel? - Wenn ja, mit welcher Komponente?

Bei einer Konsolen-Ausgabe hast du nichts, worauf du zugreifen kannst.

Du hättest vielleicht glück, sofern du den Text in ein Label oder eine andere Textkomponente schreibst, welches sich dynamisch vergrößert und dir den realen Wert für Breite und Höhe zurück liefert.

Kommentar von Jibenni ,

ich möchte die breite einer tabelle so bestimmen, das immer der ganze text angezeigt wird

Kommentar von KnusperPudding ,

Da will ich mich nicht mit Fremden Federn Schmücken, das dürfte 

hier gelöst worden sein:

http://stackoverflow.com/questions/17627431/auto-resizing-the-jtable-column-widt...

Kurzgefasst, wird die Breite der Komponente des Renderers abgefragt und dieser Wert anschließend als Spaltenbreite verwendet.

Antwort
von triopasi, 32

Was ist die "Größe von der Länge"??

Kommentar von Jibenni ,

wie breit die schrift ist für bestimmte formatierungen :)

Kommentar von triopasi ,

Auf der Konsole oder was? Das kann man nicht abfragen, ein String hat ja keine "Breite".

Kommentar von Jibenni ,

muss aber eine tabelle formatieren damit jeder collumn so groß ist das alles drinnen steht

Kommentar von triopasi ,

Wenn die Tabelle ne Maximale Breit hat geht das aber nicht immer.. Kannst ja nach Anzahl der Zeichen die Breiten der Spalten gewichten..

Antwort
von DexterNemrod, 17

Für eine Monospace font (z.b. in der Konsole) ist das einfach - da ist jedes Zeichen gleich breit. Ich gehe aber davon aus dass du die Breite des Schriftzugs für eine GUI benötigst.

Dafür gibt es unterschiedliche Methoden, die davon Abhängen, wie du den String anzeigen möchtest. Mit AWT beispielsweise kann man es so machen: http://stackoverflow.com/a/258499/6835105

Wie willst du den String / die Strings denn ausgeben?

Kommentar von Jibenni ,

hab ein tablellen column mit einem text drin der aber nur zur hälfte angezeigt wird :( und möchte das automatiesieren

Kommentar von DexterNemrod ,

Wie stellst du die Tabelle dar? Swing? JavaFx? AWT? Welches GUI-Toolkit nutzt du? Die Funktion um die Breite eines angezeigten Strings zu berechnen ist in jedem anders.

Keine passende Antwort gefunden?

Fragen Sie die Community