主要实现单元格渲染接口,该类扩展自JTextArea,因为其有自动换行的功能。
public class MultiLineTableCellRender extends JTextArea implements TableCellRenderer
{
public JTable extTable = null;
public MultiLineTableCellRender()
{
setLineWrap(true);
setWrapStyleWord(true);//JTextArea自动换行的功能
this.setBorder(BorderFactory.createEmptyBorder(1, 1, 0, 0));
//去掉jtextarea的默认边框,因为和JTable的表格线有重叠
}
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
// 计算当下行的最佳高度
//计算了该行所有列的内容所对应的高度,挑选最高的那个
int maxPreferredHeight = 18;
for(int i = 0; i < table.getColumnCount(); i++)
{
setText("" + table.getValueAt(row, i));
setSize(table.getColumnModel().getColumn(column).getWidth(), 0);
maxPreferredHeight = Math.max(maxPreferredHeight, getPreferredSize().height);
}
if(table.getRowHeight(row) != maxPreferredHeight)
{
table.setRowHeight(row, maxPreferredHeight);
}
if(isSelected)
{
this.setBackground(table.getSelectionBackground());
}
else
{
this.setBackground(table.getBackground());
}
setText(value == null ? "" : value.toString());
return this;
}
}
分享到:
相关推荐
JTable表格自定义行高,java中JTable自定认行高[参照].pdf
JTable的自动换行。挺好用的。里面还可以设置字体大小。分享一下。
JTable动态刷新数据JTable动态刷新数据JTable动态刷新数据JTable动态刷新数据
JTable使用 JTable使用JTable使用JTable使用
实现jTable和jTree的双向联动,点击jTree会选中jTable单元格,点击jTable会选中jTree节点。
JTable的显示效果
JTable的使用收藏 1.JTable与TableModel 1.TableModel与JTable的关系 2.TableModel实践 3.使用JTable+TableModel展示java中的数据对象 2.JTable展示方式的美化 1.设置表格的宽度和高度 2.要显示表头 3.新加列,将...
swing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing ...
Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性
JTable 在一个单元格放入多个按钮,
java JTree+JTable使用样例,实现将JTree的节点内容显示到JTable中,eclipse导入maven项目 maven编译: mvn clean package
ResultSet直接在JTable显示
自己写的一个继承自JTable的带有行号显示功能的表格,支持增删,设置行高等动态操作。
一个JTable里添加CheckBox的完整例子,包括表头的JCheckBox全选联动
Excel导入JTable JTable导出Excel JTable删除行 JTable显示实体数据 JTable的Vector添加实体,支持直接增加实体至JTable中,删除行时允许多种可能性(单选 连续多选 任意多选)。
复杂JTable-跨列表头, JTable表头合并,已经测试Ok,希望对你有用
JTable增加删除按钮实例,用于java开发
JTable 和 Excel 图表是常被用在网格或表格中显示数据。通常,用户希望输入到 JTable 的数据已经存在于 Excel 电子表格中。Excel 格式使用在非 Excel 软件中来实现导入-导出功能。因为如此,Java 软件也应该提供通用...
主要解决: 把jtable设置为只能选择一行,但是按下Ctrl+A以后,table会自动把选择迁移到最后一行. 如何不让焦点自动迁移?给了个人的一个简单的实现。