Swing Anpassen der Spaltenbreite durch die länge eines Strings

A

aimy

Gast
Hey,

ich wollte mal nachhaken ob es eine möglichkeit gibt die Spaltenbreite durch eine anzahl von Zeichen zu setzen, d.h. Die Spalte 1 soll 10 Zeichen breit sein. Spalte 2 aber nur 5 Zeichen breit, usw.

Bsp.
Code:
      1      |   2   |...
              |       |   
----------|-----|
              |       |

Ich weiß, dass man die Spaltenbreite über die Pixelangaben angeben kann, das sieht bei mir dann ungefähr so aus:

Java:
public void setColumnWidth( JTable in_xTable )
  {
    for( int i = 0; i < m_xListeSpaltenInfo.size(); i++ )
    {
      int iAnzahlZeichen = m_xListeSpaltenInfo.get( i ).getSpaltenZeichenAnzahl();
      TableColumn xTableColumn = in_xTable.getColumnModel().getColumn( i );
      xTableColumn.setPreferredWidth( iAnzahlZeichen );
    }
    
  }

Jetzt die Frage:
muss ich die Zeichenanzahl in Pixel umrechnen ("Hallo"-> zeichenanzahl = 5 -> pixellänge von 5 Zeichen ) , gibt es da eine möglichkeit, oder muss man ganz anders vorgehen?


Danke,

aimy
 
Zuletzt bearbeitet von einem Moderator:

HelgeW

Mitglied
Hi,
also ich arbeite immer mit relativen Werten...zuerst die Breite der Tabelle besorgen ( hier aus einem ScrollPane ) und dann die einzelnen Spalten setzen

Code:
	public void resizeColumns() {
		float[] colSize = { 0.10f, 0.10f, 0.30f, 0.30f, 0.10f, 0.10f };
		table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
		int totalColumnWidth = scrollPane.getWidth();
		for (int colIndex = 0; colIndex < table.getColumnCount(); colIndex++) {
			TableColumn col = table.getColumnModel().getColumn(colIndex);
			float width = totalColumnWidth * colSize[colIndex];
			col.setPreferredWidth((int) width);
		}
	}
 

X5-599

Top Contributor
Du kannst dir auch den FontRenderContext des grafischen Elements besorgen und sowas machen:

Java:
FontRenderContext frc = ((Graphics2D)table.getGraphics()).getFontRenderContext();
TextLayout textLayout = new TextLayout(text, font, frc);
Rectangle2D bounds = textLayout.getBounds();
int textLength = (int)Math.round(bounds.getWidth());
 
A

Aimy

Gast
Java:
FontRenderContext frc = ((Graphics2D)table.getGraphics()).getFontRenderContext();
TextLayout textLayout = new TextLayout(text, font, frc);
Rectangle2D bounds = textLayout.getBounds();
int textLength = (int)Math.round(bounds.getWidth());
[/QUOTE]

Danke, so hats geklappt :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
1 Swing Spaltenbreite and CellEditor- Komponente anpassen AWT, Swing, JavaFX & SWT 4
R JTable: Spaltenbreite automatisch anpassen AWT, Swing, JavaFX & SWT 3
H Swing Anpassen der Textgröße im JLabel funktioniert nur bedingt AWT, Swing, JavaFX & SWT 7
L JavaFx Textformatierung mittels Datenbank und Funktion anpassen AWT, Swing, JavaFX & SWT 5
Yonnig JavaFX Größe von WebView an Content anpassen AWT, Swing, JavaFX & SWT 3
W JavaFX Farben dynamisch anpassen AWT, Swing, JavaFX & SWT 4
D JavaFX Größe des Bild an ImageView anpassen AWT, Swing, JavaFX & SWT 3
E Swing Layout während der Laufzeit anpassen AWT, Swing, JavaFX & SWT 3
B Größe der Parent-Component dynamisch an children anpassen AWT, Swing, JavaFX & SWT 30
T Swing Swing an Bildschirm anpassen AWT, Swing, JavaFX & SWT 3
K JavaFX Component Größe an Inhalt anpassen AWT, Swing, JavaFX & SWT 11
L JavaFX Pane inklusive Inhalt der Bildschirm Auflösung anpassen AWT, Swing, JavaFX & SWT 13
S Java GUI durch variable Größe einer Map anpassen AWT, Swing, JavaFX & SWT 3
W JavaFX Tabelle zeilenweise mit Werten füllen und an Container anpassen AWT, Swing, JavaFX & SWT 23
R Größe von Scene und stage an grid anpassen AWT, Swing, JavaFX & SWT 4
M Java FX größe der shapes anpassen AWT, Swing, JavaFX & SWT 0
R Swing JCTable auf Java9 anpassen AWT, Swing, JavaFX & SWT 10
L Swing JPanel Größe anpassen AWT, Swing, JavaFX & SWT 6
K Swing labels anpassen AWT, Swing, JavaFX & SWT 1
J Gridpane Breite in Scrollpane automatisch anpassen AWT, Swing, JavaFX & SWT 2
M Swing GUI an Auflösung und Bildschirmgröße anpassen AWT, Swing, JavaFX & SWT 11
L Swing Größe automatisch anpassen AWT, Swing, JavaFX & SWT 14
L JavaFX ListView Größe anpassen AWT, Swing, JavaFX & SWT 1
L JavaFX List oder TableView Größe dynamisch anpassen? AWT, Swing, JavaFX & SWT 4
I CSS - backgroundImage - Größe automatisch an den Container anpassen AWT, Swing, JavaFX & SWT 1
P TreeView automatisch an große von Inhalt anpassen AWT, Swing, JavaFX & SWT 3
G Swing Wenn ich mein JFrame Fenster vergrößere die Inhalte anpassen AWT, Swing, JavaFX & SWT 1
Y Listview Textfield vergrößern, Schrift anpassen AWT, Swing, JavaFX & SWT 0
I JFrame an Bildschirm anpassen AWT, Swing, JavaFX & SWT 1
I JFrame Bild strecken und auf Bildschirmgröße anpassen AWT, Swing, JavaFX & SWT 2
F Swing JLabel in JFrame anpassen AWT, Swing, JavaFX & SWT 20
G JavaFX Width von Nodes einer HBox an Tab width anpassen AWT, Swing, JavaFX & SWT 3
M Swing JColorchooser anpassen - custom style? AWT, Swing, JavaFX & SWT 0
F Swing Anpassen des Layouts AWT, Swing, JavaFX & SWT 3
H AWT Fenster- und JLabel-Größe automatisch anpassen AWT, Swing, JavaFX & SWT 2
B Swing JTable mit Daten - Reihen-Größe anpassen AWT, Swing, JavaFX & SWT 0
M Swing TableCellRenderer elegant anpassen AWT, Swing, JavaFX & SWT 3
D JFileChooser anpassen AWT, Swing, JavaFX & SWT 5
S JMenuBar wiederverwenden und Eventhandling anpassen AWT, Swing, JavaFX & SWT 4
A Swing Logikaufgabe: Zeilenanzahl einer JTable mit 3d String dynamisch anpassen AWT, Swing, JavaFX & SWT 2
M Swing JTabbedPane: Tab-Elemente anpassen AWT, Swing, JavaFX & SWT 3
I JTable Spalten automatisch dem Inhalt anpassen! AWT, Swing, JavaFX & SWT 6
D Swing Spielfeldgroesse anpassen AWT, Swing, JavaFX & SWT 5
N Swing microba - DatePicker: Feld-Hintergrund anpassen AWT, Swing, JavaFX & SWT 2
S Swing Feldgrösse anpassen ? AWT, Swing, JavaFX & SWT 3
K JSpinner in passender Breite erstellen oder automatisch anpassen AWT, Swing, JavaFX & SWT 2
B JTextArea Größe an Container anpassen AWT, Swing, JavaFX & SWT 2
A DefaultCellRendere - Zellehintergrundsfarbe anpassen AWT, Swing, JavaFX & SWT 4
windl GUI an Bildschirmauflösung anpassen AWT, Swing, JavaFX & SWT 7
D JTable width automatisch anpassen AWT, Swing, JavaFX & SWT 4
N Swing KomponentenHöhe an html-Inhalt anpassen AWT, Swing, JavaFX & SWT 4
windl Querstreifen beim Bilder malen und anpassen an neue CPU AWT, Swing, JavaFX & SWT 12
C Scollpane an dynamisches GridLayout anpassen? AWT, Swing, JavaFX & SWT 3
G Swing JComboBox anpassen AWT, Swing, JavaFX & SWT 6
W Bildgröße automatisch an Komponenten anpassen AWT, Swing, JavaFX & SWT 3
M Fenstergrösse an Bild anpassen AWT, Swing, JavaFX & SWT 13
T Die Größe einer JTextArea an Ihren Parent JPanel anpassen. AWT, Swing, JavaFX & SWT 5
T Spaltennamen jeweils der angezeigten Tabelle anpassen AWT, Swing, JavaFX & SWT 19
B JSpinner Textgröße anpassen AWT, Swing, JavaFX & SWT 2
P Swing JScrollPane-Inhalt: Grösse anpassen AWT, Swing, JavaFX & SWT 6
B FileChooser anpassen AWT, Swing, JavaFX & SWT 2
0 JPanel nicht an größe des JFrames anpassen AWT, Swing, JavaFX & SWT 3
B Tabelle anpassen AWT, Swing, JavaFX & SWT 6
L JFrame an Paint-Inhalt anpassen AWT, Swing, JavaFX & SWT 6
B JScrollpane - Größe anpassen AWT, Swing, JavaFX & SWT 4
X JEditorPane Größe in JDialog automatisch anpassen AWT, Swing, JavaFX & SWT 2
M JPanel an JFrame anpassen AWT, Swing, JavaFX & SWT 7
J Button Layout anpassen AWT, Swing, JavaFX & SWT 22
X jTable anpassen AWT, Swing, JavaFX & SWT 2
S Swing Panelgröße anpassen wenn Frame maximiert wird AWT, Swing, JavaFX & SWT 2
I Swing Optik eines JButton an JToolBar anpassen AWT, Swing, JavaFX & SWT 5
T Swing jTextArea soll sich der Fenstergröße anpassen beim ziehen?? AWT, Swing, JavaFX & SWT 2
Mike90 JTabbedPane Größe anpassen AWT, Swing, JavaFX & SWT 17
T LayoutManager GridBagLayout an Fenstergröße anpassen AWT, Swing, JavaFX & SWT 2
N JTable Zellenhöhe an Zeilenanzahl anpassen AWT, Swing, JavaFX & SWT 3
W Zellengröße in Jtable anpassen AWT, Swing, JavaFX & SWT 3
S Swing Inhalt eines Fenster bei Größenänderung anpassen (GroupLayout) AWT, Swing, JavaFX & SWT 2
F Swing Höhe eines Headers einer JTable anpassen AWT, Swing, JavaFX & SWT 4
M JCheckBox Icon anpassen AWT, Swing, JavaFX & SWT 2
G Swing Komponenten dem Hintergrundbild des JPanels anpassen? AWT, Swing, JavaFX & SWT 6
T Swing Dialoginhalt automatisch anpassen während Größenänderung AWT, Swing, JavaFX & SWT 2
M Swing JTextArea größe anpassen & setBackground liefer Nullpointer AWT, Swing, JavaFX & SWT 4
W JTabbedPane Größe anpassen AWT, Swing, JavaFX & SWT 4
N JFrame mit Elementen an die Bildschirmgröße automatisch anpassen AWT, Swing, JavaFX & SWT 3
W Swing JScrollpane Scroller/Pfeile anpassen AWT, Swing, JavaFX & SWT 7
S ImageIcon Grösse anpassen AWT, Swing, JavaFX & SWT 2
M Swing JTable anpassen AWT, Swing, JavaFX & SWT 6
K JFrame-Größe an inneren Container anpassen AWT, Swing, JavaFX & SWT 2
M Image an Gridlayout anpassen AWT, Swing, JavaFX & SWT 5
D Aussehen von GUI-Komponenten ans Betriebssystem anpassen AWT, Swing, JavaFX & SWT 3
K Look&Feel von JMenuBar und Subkomponenten anpassen AWT, Swing, JavaFX & SWT 6
T JTree mit Checkboxen anpassen AWT, Swing, JavaFX & SWT 7
hdi Swing JTable: Selektion beim Umsortieren anpassen AWT, Swing, JavaFX & SWT 7
E Eine Seite eines Frames variabel anpassen lassen? AWT, Swing, JavaFX & SWT 10
H Schriftgröße automatisch an JLabel anpassen AWT, Swing, JavaFX & SWT 6
M Größe von JTextPane manuell bei Bedarf anpassen AWT, Swing, JavaFX & SWT 6
M Scrollbar anpassen (Position) AWT, Swing, JavaFX & SWT 6
K JButton anpassen AWT, Swing, JavaFX & SWT 2
E GridBagLayout Zellengröße anpassen AWT, Swing, JavaFX & SWT 6
M Anpassen der Größe eines JPanels (incl. gezeichneter Ampel) AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben