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> | ||