ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
403
403
EMPFEHLEN
-
29.05.08 08:21 #1
- Registriert seit
- Sep 2007
- Beiträge
- 32
Hallo,
ich hab ein Problem mit einer JTable.
Ich möchte, dass wenn der User auf eine Zelle in meiner Tabelle (4 Spalten und beliebig viele Zeilen) klickt, automatisch die Zeile makiert wird, in der sich die Zelle befindet. Außerdem soll der User den Zelleninhalt nicht verändern dürfen. Ich hab schon ein bisschen was mit:
probiert, aber irgendwie haut des net ganz so hin wie ich willCode java:1 2 3
table.setRowSelectionAllowed(true); table.setCellSelectionEnabled(false); table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

Ist es ggf. auch möglich mehrere Zeilen untereinander zu makieren?
Hoffe ihr könnt mir bei meinem Problem helfen
Danke
Gruß
Java_Anfänger
-
29.05.08 10:26 #2
- Registriert seit
- Sep 2007
- Beiträge
- 32
Oh man, bin ich dumm

Ich kann die Zeilen schon längst makieren, habe es blos nie gesehen,
da ich nämlich eine Hintergrundfarbe gesetzt habe.
Jetzt ergibts sich daraus natürlich ein neues Problem:
Ich kann zwar die Zeilen makieren, sehe doch nur meine Hintergrundfarbe, dich ich bei den Zellen gesetzt habe. Ich habe auch mithilfe von table.setSelectionBackground(selectionBackground) versucht die Hintergrundfarbe des ausgewählten Bereichs zu ändern, bisher aber leider ohne Erfolg...
Habt ihr vielleicht ne Idee was ich da machen kann?
Grüße
Java Anfänger
-
29.05.08 10:30 #3
Guck dir doch mal den CellRenderer an! Damit hatte ich in meinem Projekt die ganzen Hintergrundfarben für Zellen, Reihen, Spalten, Markierungen usw Festgelegt.
"... Jeder von uns ist Kunst... gezeichnet vom Leben" (Casper)
"Sir?, we're sorrounded!"
"Excellent, we can attack in any direction"
-
29.05.08 10:35 #4
- Registriert seit
- Sep 2007
- Beiträge
- 32
Vielen Dank für deine Hilfe, ich schau es mir gleich mal an
-
29.05.08 12:05 #5
- Registriert seit
- Sep 2007
- Beiträge
- 32
So jetzt hab ich es endlich gelöst

Danke Matze für den Tipp, mit den CellRenderer hat es wunderbar geklappt!
mit:
habe ich den CellRenderer der Tabelle hinzugefügt.Code java:1
table.setDefaultRenderer( Object.class, new TMR_fehlValues());
und das ist mein CellRenderer
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
class CellRenderer_table extends DefaultTableCellRenderer { public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); this.setFont(new Font(this.getFont().getFamily(),Font.BOLD, this.getFont().getSize())); this.setForeground(Color.black); if(isSelected) { setBackground(new Color(151,203,255)); } else { for(int i = 0; i < table.getRowCount(); i++) { if(table.getValueAt(i, 0) != null) { if(row == i) { this.setBackground(new Color(250,203,107)); } } if(table.getValueAt(i, 1) != null) { if(row == i) { this.setBackground(new Color(208,252,205)); } } } } return this; } }
Nochmals Vielen Dank
Grüße
Java_Anfänger
Ähnliche Themen
-
JTable neue Zeile springen?!
Von ElJarno im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 4Letzter Beitrag: 19.07.10, 09:11 -
JTable Zeile hinzufügen
Von yaqwerdx im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 4Letzter Beitrag: 14.10.07, 18:05 -
JTable Zeile markieren
Von LarsHH im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 4Letzter Beitrag: 13.03.06, 10:42 -
JTable --> Zeile ausblenden
Von RMI_17 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 4Letzter Beitrag: 03.08.05, 11:43 -
JTable mit feststehender Zeile
Von takidoso im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 3Letzter Beitrag: 18.09.04, 13:48





Zitieren
Login





