Tag: height

JTable动态改变行高

我无法动态更改我的行的高度,是否有一个我需要重载的方法? – 编辑 – 对不起,这是我的第一篇短信….我的问题与改变行高有关,取决于内容。 所以到目前为止我所做的是一个实现TabelCellRenderer的内部类。 这就是我正在进行的行高计算。 private static class TextAreaRenderer extends JTextPane implements TableCellRenderer { public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { /* Setup Code here */ this.setText(((String)value).getEntityName()); int height = new Double(this.getPreferredSize().getHeight()).intValue(); if (table.getRowHeight(row) < height) table.setRowHeight(row, height); /* some more code */ return this; […]

根据内容展开JList行高

我有一个简单的问题让我疯狂。 我有一个JList,并希望它的单元格根据其内容进行扩展,这是可变长度的文本。 所以我创建了一个CustomCellRenderer,如下所示: @Override public Component getListCellRendererComponent(final JList list, final Object value, final int index, final boolean isSelected, final boolean hasFocus) { final String text = (String) value; final JTextArea ta = new JTextArea(); ta.setText(text); ta.setFont(new Font(“Dialog”, Font.PLAIN, (int) Theme.FONTSIZE_TEXT)); ta.setForeground(Theme.FONTCOLOR_CONTENT); ta.setLineWrap(true); ta.setWrapStyleWord(true); ta.setColumns(0); ta.setBorder(BorderFactory.createEmptyBorder(10, Theme.PADDING, 0, 0)); return ta; } 但是单元格只有一个文本行高,而JTextArea的其余部分被截断。 如果我加 ta.setPreferredSize(new Dimension(0, […]

Java Swing:JList与ListCellRenderer选择的项目高度不同

我正在制作自定义ListCellRenderer。 我知道每个单元格可以有不同的尺寸。 但是现在我希望为所选单元格设置不同的维度。 不知何故,JList在第一次计算每个单元格的边界时,为每个单独的单元格缓存维度。 这是我的代码: public class Test { static class Oh extends JPanel { public Oh() { setPreferredSize(new Dimension(100, 20)); } protected void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Color.WHITE); g.fillRect(0, 0, getWidth(), getHeight()); } } static class Yeah extends JPanel { private boolean isSelected; public Yeah(boolean isSelected) { setPreferredSize(new Dimension(100, 100)); this.isSelected = isSelected; } […]