Unterschiede
Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.
| swing:jtable-tablecellrenderer 2007/11/15 21:20 | swing:jtable-tablecellrenderer 2020/01/22 20:59 aktuell | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | [[swing:swing|Java - AWT/Swing]]\\ | ||
| ====== JTable, wechselnde Zeilenfarbe mit TableCellRenderer ====== | ====== JTable, wechselnde Zeilenfarbe mit TableCellRenderer ====== | ||
| JTable bietet die Möglichkeit die Darstellung einer Tabelle mittels eines TableCellRenderer zu verändern: | JTable bietet die Möglichkeit die Darstellung einer Tabelle mittels eines TableCellRenderer zu verändern: | ||
| <code java> | <code java> | ||
| public class MyRenderer extends JLabel implements TableCellRenderer { | public class MyRenderer extends JLabel implements TableCellRenderer { | ||
| - | public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { | + | public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, |
| + | boolean hasFocus, int row, int column) { | ||
| TableModel model = table.getModel(); | TableModel model = table.getModel(); | ||
| - | setBackground(row%2==0?Color.WHITE:Color.YELLOW); | + | setOpaque(true); |
| + | setBackground(row%2==0 ? Color.WHITE : Color.YELLOW); | ||
| setForeground(Color.BLACK); | setForeground(Color.BLACK); | ||
| setText((value != null)?value.toString():""); | setText((value != null)?value.toString():""); | ||
| Zeile 13: | Zeile 16: | ||
| setBorder(BorderFactory.createLineBorder(table.getBackground())); | setBorder(BorderFactory.createLineBorder(table.getBackground())); | ||
| } | } | ||
| + | return this; | ||
| + | } | ||
| } | } | ||
| </code> | </code> | ||
| - | Ein solcher CellRenderer kann dann der Tabelle zugewiesen werden: | + | <html> |
| + | <script type="text/javascript"><!-- | ||
| + | google_ad_client="pub-9681858985507948"; | ||
| + | google_ad_width = 468; | ||
| + | google_ad_height = 60; | ||
| + | google_ad_format = "468x60_as"; | ||
| + | google_ad_type = "text"; | ||
| + | google_ad_channel = ""; | ||
| + | google_color_border = "cccccc"; | ||
| + | google_color_bg = "FFFFFF"; | ||
| + | google_color_link = "1d2d8c"; | ||
| + | google_color_text = "000000"; | ||
| + | google_color_url = "1d2d8c"; | ||
| + | //--> | ||
| + | </script> | ||
| + | <script type="text/javascript" | ||
| + | src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> | ||
| + | </script> | ||
| + | </html> | ||
| + | \\ | ||
| + | \\ | ||
| + | Ein solcher CellRenderer kann dann der Tabelle zugewiesen werden:\\ | ||
| <code java> | <code java> | ||
| + | Table myTable = ... | ||
| myTable.setDefaultRenderer(Object.class, new MyRenderer()); | myTable.setDefaultRenderer(Object.class, new MyRenderer()); | ||
| </code> | </code> | ||