我要实现一个模糊搜索功能,即输入几个字母,相关的搜索的图片就会显示到JTable 的最前面,并且得JTable的每个Cell中含有图片和文字。我想让搜索的结果水平排列,这样就需要使 jtable的列水平放置,因为我用到了DefaultTableCellRenderer。用DefaultTableCellRenderer往JTable中添加Cell的话,必须按列添加,而不能按照行或Cell添加。
e.g : table.getColumnModel.getColumn(0).setCellRenderer(new MyCellRenderer());所以我的思想是如何使jtable的列水平放置,来实现我的目的呢?请高手帮忙!
e.g : table.getColumnModel.getColumn(0).setCellRenderer(new MyCellRenderer());所以我的思想是如何使jtable的列水平放置,来实现我的目的呢?请高手帮忙!
content = new Vector();
} public Table_Model(int count) {
content = new Vector(count);
} public void addRow(String date, String costname, String cost,String re) {
Vector v = new Vector(4);
v.add(0, date);
v.add(1, costname);
v.add(2, cost);
v.add(3, re);
content.add(v);
} public void removeRow(int row) {
content.remove(row);
} public void removeRows(int row, int count) {
for (int i = 0; i < count; i++) {
if (content.size() > row) {
content.remove(row);
}
}
} /**
*/
public boolean isCellEditable(int rowIndex, int columnIndex) {
if (columnIndex == 0) {
return false;
}
return true;
} /**
*/
public void setValueAt(Object value, int row, int col) {
((Vector) content.get(row)).remove(col);
((Vector) content.get(row)).add(col, value);
this.fireTableCellUpdated(row, col);
} public String getColumnName(int col) {
return title_name[col];
} public int getColumnCount() {
return title_name.length;
} public int getRowCount() {
return content.size();
}
public String getValueAt(int row, int col) {
return (String) ((Vector) content.get(row)).get(col);
}
}
public static void addRowData(String date, String costname, String cost,String re){
model.addRow(date, costname, cost,re);
table.updateUI();
}
public static void addBlankRows(){
for(int i=0;i<100;i++){
model.addRow("", "", "", "");
table.updateUI();
}
}
public static void clear(){
if(model.getRowCount() >= 1){
model.removeRows(0, model.getRowCount());
}
}
public static void DelRow (){
int[] index = table.getSelectedRows();
for(int i=0;i<index.length;i++){
model.removeRow(index[i]);
table.updateUI();
}
}这个model是横向显示的,你试试