Source code: com/watsonnet/jcap/SearchTableModel.java
1 package com.watsonnet.jcap;
2
3 // java
4 import java.io.*;
5
6 // swing:
7 import javax.swing.*;
8 import javax.swing.table.*;
9 import javax.swing.event.*;
10
11 import java.util.*;
12 import java.util.Arrays;
13
14 public class SearchTableModel extends AbstractTableModel {
15 private ArrayList data = new ArrayList();
16 private String[] columnNames = { "Filename", "Caption", "Path" };
17 private int rows = 0;
18
19 public void addData(SearchResult v) {
20 // Add data
21 data.add(v);
22 rows++;
23 Collections.sort(data);
24 fireTableDataChanged();
25 }
26
27 public void clearData() {
28 // Clear data
29 data.clear();
30 rows = 0;
31 fireTableDataChanged();
32 }
33
34 public String getColumnName(int col) {
35 return columnNames[col].toString();
36 }
37
38 public int getRowCount() {
39 return rows;
40 }
41
42 public int getColumnCount() {
43 return 3;
44 }
45
46 public Object getValueAt(int row, int col) {
47 File f = new File(((SearchResult)data.get(row)).getPath());
48 switch (col) {
49 case 0:
50 return(Util.getFilenameLabel(f.getName()));
51 case 1:
52 return(((SearchResult)data.get(row)).getCaption());
53 case 2:
54 return(f.getAbsolutePath());
55 }
56 return null;
57 }
58
59 public boolean isCellEditable(int row, int col) {
60 return false;
61 }
62
63 public void setValueAt(Object value, int row, int col) {
64 }
65 }