ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
1193
1193
EMPFEHLEN
-
Hallo!
Ich habe mehrere Forenbeiträge über Renderer durchgelesen und habe auch schon Erfolg damit gehabt.
Nur ein Problem:
Ich möchte in einer JTable in einer Zelle eine JComboBox darstellen, nur jedoch werden mehrere Werte in der ComboBox nicht dargestellt werden - nur der jeweils erste Wert (im Beispiel: "1. Wert"):
Danke für Eure Hilfe!Code :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 48 49 50 51
import java.awt.Component; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.table.DefaultTableCellRenderer; public class JTableDemo extends JFrame { private JTable table; public JTableDemo() { super("JTableDemo"); setDefaultCloseOperation(EXIT_ON_CLOSE); String[] header = { "ABC", "DEF", "GHI" }; String[][] data = { { "1A", "1B", "1C" }, { "2A", "2B", "2C" }, { "3A", "3B", "3C" } }; table = new JTable(data, header); final JComboBox combo = new JComboBox(); DefaultTableCellRenderer renderer = new DefaultTableCellRenderer() { public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { String val = (String) value; if (isSelected) { if (val.startsWith("2") && val.endsWith("B")) { combo.addItem("1.Wert"); combo.addItem("2.Wert"); combo.addItem("3.Wert"); return combo; } else { return new JTextField(val); } } else { return new JLabel(val); } } }; table.getColumn("DEF").setCellRenderer(renderer); getContentPane().add(table); pack(); setVisible(true); } public static void main(String[] args) { new JTableDemo(); } }
Gruß
-
Tach,
ich denke, für Deine Zwecke ist der Editor anzupassen, nicht der Renderer...
-
Äh, ich weiß im Moment nicht was ich machen soll,
kannst Du mir ein vielleicht ein Beispielcode geben?
Danke!
-
Sorry, keine Zeit für Beispielcode.
Du musst für die entsprechende Spalte einen eigenen CellRenderer zuweisen. Näheres dazu in der API, evtl. in den Sun Tutorials, aber bestimmt bei dem Codeguru Link, den ich in der Linkliste genannt habe. Darin ist übrigens einiges Interessantes zu Tabellen zu finden!
Ähnliche Themen
-
JComboBox in JTable
Von RalU im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 1Letzter Beitrag: 22.12.09, 16:52 -
JComboBox-Zeilen in JTable
Von KPMAnakha im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 02.11.09, 14:44 -
JComboBox in JTable: Verhalten bei editieren
Von mas666 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 16.04.09, 10:45 -
JTable mit JComboBox und Listener, wie funktionieren sie?
Von HaGs im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 6Letzter Beitrag: 11.07.07, 22:20 -
JComboBox in JTable mit permanent sichtbarem Pfeil
Von wernerrechert im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 1Letzter Beitrag: 27.07.04, 17:03





Zitieren
Login





