Unterschiede
Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.
| swing:jtable-row-height-from-text 2014/08/18 15:12 | swing:jtable-row-height-from-text 2020/01/22 20:59 aktuell | ||
|---|---|---|---|
| Zeile 40: | Zeile 40: | ||
| public TextAreaRendererDemo() { | public TextAreaRendererDemo() { | ||
| + | setSize(0, 0, 400, 300); | ||
| + | setLocationRelativeTo(null); | ||
| + | setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | ||
| + | |||
| JTable table = new JTable(new Object[][] { | JTable table = new JTable(new Object[][] { | ||
| {"Zeile 1 von 1", "Zeile 1 von 3 \nZeile 2 von 3 \nZeile 3 von 3"}, | {"Zeile 1 von 1", "Zeile 1 von 3 \nZeile 2 von 3 \nZeile 3 von 3"}, | ||
| Zeile 45: | Zeile 49: | ||
| }, | }, | ||
| new String[] { "0", "1" }); | new String[] { "0", "1" }); | ||
| - | this.getContentPane().add(new JScrollPane(table), BorderLayout.CENTER); | + | getContentPane().add(new JScrollPane(table)); |
| table.getColumnModel().getColumn(1).setCellRenderer(new TextAreaCellRenderer()); | table.getColumnModel().getColumn(1).setCellRenderer(new TextAreaCellRenderer()); | ||
| - | for (int i=0; i<table.getRowCount(); i++) { | + | for (int i = 0; i < table.getRowCount(); i++) { |
| TableCellRenderer renderer = table.getCellRenderer(i, 1); | TableCellRenderer renderer = table.getCellRenderer(i, 1); | ||
| Component comp = table.prepareRenderer(renderer, i, 1); | Component comp = table.prepareRenderer(renderer, i, 1); | ||
| Zeile 59: | Zeile 63: | ||
| public void run() { | public void run() { | ||
| final JFrame frame = new TextAreaRendererDemo(); | final JFrame frame = new TextAreaRendererDemo(); | ||
| - | frame.setBounds(0, 0, 400, 300); | ||
| - | frame.setLocationRelativeTo(null); | ||
| - | frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | ||
| frame.setVisible(true); | frame.setVisible(true); | ||
| } | } | ||
| Zeile 68: | Zeile 69: | ||
| } | } | ||
| - | class TextAreaCellRenderer extends DefaultTableCellRenderer { | + | public class TextAreaCellRenderer extends DefaultTableCellRenderer { |
| - | private JTextArea area; | + | private JTextArea textArea; |
| public TextAreaCellRenderer() { | public TextAreaCellRenderer() { | ||
| - | area = new JTextArea(); | + | textArea = new JTextArea(); |
| - | area.setLineWrap(true); | + | textArea.setLineWrap(true); |
| - | area.setWrapStyleWord(true); | + | textArea.setWrapStyleWord(true); |
| } | } | ||
| 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) { | ||
| - | Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); | + | Component component = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); |
| - | area.setText(value.toString()); | + | textArea.setText(value.toString()); |
| - | area.setForeground(c.getForeground()); | + | textArea.setForeground(component.getForeground()); |
| - | area.setBackground(c.getBackground()); | + | textArea.setBackground(component.getBackground()); |
| - | return area; | + | return textArea; |
| } | } | ||
| } | } | ||
| </code> | </code> | ||