JTable单元包装 [英] JTable cell wrapping
本文介绍了JTable单元包装的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想调整jtable中特定单元格的大小,以便当文本大小大于某个大小时它应该自动设置自身.这就是我向表中添加内容的方式.
I want to adjust the size of a particular cell in jtable so that it should auto set itself when the size of text is greater than some size. This is how I am adding content to my table.
if(rs.next()) {
rs.beforeFirst();
Vector<String> columnNames = new Vector<String>();
columnNames.add("Tweet");
columnNames.add("Updated Time");
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
while (rs.next()) {
Vector<Object> vector = new Vector<Object>();
Tweet = rs.getString(1);
vector.add(Tweet);
SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Timestamp time = rs.getTimestamp(2);
Updated_time = sdf.format(time);
vector.add(Updated_time);
data.add(vector);
}
DefaultTableModel dfm = new DefaultTableModel(data, columnNames);
JTable table = new JTable(dfm);
table.setAutoscrolls(true);
table.setShowGrid(false);
((DefaultTableCellRenderer)table.getDefaultRenderer(Object.class)).setOpaque(false);
table.setOpaque(false);
推荐答案
public class MyRenderer extends JTextArea implements TableCellRenderer {
private static final long serialVersionUID = 1L;
public MyRenderer() {
setLineWrap(true);
setWrapStyleWord(true);
setOpaque(true);
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
// TODO Auto-generated method stub
setText(value.toString());//or something in value, like value.getNote()..
if (isSelected) {
setForeground(table.getSelectionForeground());
setBackground(table.getSelectionBackground());
} else {
setForeground(table.getForeground());
setBackground(table.getBackground());
}
setSize(table.getColumnModel().getColumn(column).getWidth(),
getPreferredSize().height);
if (table.getRowHeight(row) != getPreferredSize().height) {
table.setRowHeight(row, getPreferredSize().height);
}
return this;
}
}
这篇关于JTable单元包装的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文