ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
502
502
EMPFEHLEN
-
hallo zusammen,
ich habe eine JTable besteht aus 4 spalten , die die Daten einer Datenbank tabelle anzeigen, alles läuft gut aber die 4. spalte sollte in jeder zelle ein text anzeigen, das problem der ganze Text wir in einer Zeile angezeigt, hat jemnand eine Idee wie man den Text mit zeilenumbrüche anzeigen kann.
ich danke euch im voraus
-
16.01.12 11:24 #2
Hi,
das sollte dir weiterhelfen könnne.
http://www.esus.com/javaindex/j2se/j...linecells.html
Gruß
FabioBitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
-
wozu dient dieses programmteil hier
Code java:1 2 3 4 5 6 7
if (isSelected) { setForeground(table.getSelectionForeground()); setBackground(table.getSelectionBackground()); } else { setForeground(table.getForeground()); setBackground(table.getBackground()); }
wie kann man das vermeiden dass die wörter am ende der zeile nicht umgebrochen werden, also anders gesgat zeilenumbrüche nur bei leerzeichenGeändert von javama (16.01.12 um 12:39 Uhr)
-
16.01.12 12:56 #4
Der Codeteil markiert lediglich die selektierte Zelle, durch Änderung der Hintergrund- und Schriftfarbe.
Durch diese zwei Aufrüfe, wird es eigentlich eingestellt, dass der Zeilenumbruch nur bei Leerzeichen erfolgen soll:
Code java:1 2
setLineWrap(true); setWrapStyleWord(true);
Gruß
FabioBitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
-
jetzt funktioniert schon, aber es gibt noch ein problem,
wenn ein Text gross ist, wird er nicht ganz angezeigt.
mein programmCode sieht so aus:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
class TableCellRendererMehrfachZeilen1 extends JTextArea implements TableCellRenderer{ /** * Konstruktor * */ public TableCellRendererMehrfachZeilen1() { super.setLineWrap(true); super.setWrapStyleWord(true); } /** * */ private static final long serialVersionUID = 1L; /* * (non-Javadoc) * * @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, * java.lang.Object, boolean, boolean, int, int) */ public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { super.setText(value != null ? value.toString() : ""); if (isSelected) { super.setForeground(table.getSelectionForeground()); super.setBackground(table.getSelectionBackground()); } else { super.setForeground(table.getForeground()); super.setBackground(table.getBackground()); } int cellWidth = (int) table.getCellRect(row, column, true).getWidth(); //wenn der Text lang ist dann soll ich anstatt 1 die 2 oder 3 einsetzen aber ich will dass der //gesamte text angezeigt wird super.setRows(1+(int) ((new JTextArea(super.getText()) .getPreferredSize().getWidth() + super.getColumnWidth() * 2) / cellWidth)); if (table.getRowHeight(row) != (int) getPreferredSize().getHeight()) { table.setRowHeight(row, (int) getPreferredSize().getHeight()); } return this; }
Geändert von javama (16.01.12 um 14:56 Uhr)
-
16.01.12 14:54 #6
Du kannst dir von dem JTextArea den Font zurückgeben lassen. Über diesen bekommst du die Schriftgröße raus. Dann musst du die Felder nur noch der Schriftgröße anpassen.
Gruß
FabioBitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
-
hat jemand eine Idee was ich hier noch ändern muss, so dass mein zelle (Jtextarea) zu jedem Text passt
dankeCode java:1 2 3 4 5 6 7 8 9
int cellWidth = (int) table.getCellRect(row, column, true).getWidth(); //System.out.println("cellWidth: "+cellWidth); super.setRows(7+(int) ((new JTextArea(super.getText()) .getPreferredSize().getWidth() + super.getColumnWidth() * 2) / cellWidth)); if (table.getRowHeight(row) != (int) getPreferredSize().getHeight()) { table.setRowHeight(row, (int) getPreferredSize().getHeight()); }
Geändert von javama (18.01.12 um 09:58 Uhr)
-
wie kann ich das machen dass die leere zeilen innerhalb eines texts zu vermeiden
danke im vorausGeändert von javama (19.01.12 um 15:06 Uhr)
-
19.01.12 18:17 #9
- Registriert seit
- Jun 2009
- Beiträge
- 870
Ich würde so vorgehen: mehrere aufeinander folgende \n und/oder \r löschen. Und zu dem Post davor: Automatischen Zeilenumbruch (line wrap) aktivieren.
Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.Code java:1
System.out.println("Hallo");
___________
Ubuntu Bug #1: Microsoft has a majority market share
Casecon: Projekt leiser Käse
Ähnliche Themen
-
Zelle formatieren, wenn ein bestimmter Wert in einer anderen Zelle steht
Von ecki62 im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 31.08.11, 15:50 -
Background Color einer Zelle in einer JTable ändern
Von fastfiler im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 26.05.09, 10:42 -
[Excel] Text und Formel in einer Zelle
Von SNOOK99 im Forum Office-AnwendungenAntworten: 6Letzter Beitrag: 18.09.08, 15:43 -
JTable Text in einer Zelle markieren
Von Mikezilla im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 25.09.06, 13:38 -
[Excel] Tabellenblattname in einer zelle anzeigen lassen
Von Suchfunktion im Forum Office-AnwendungenAntworten: 1Letzter Beitrag: 01.03.04, 22:45





Zitieren
Login





