source: trunk/greenstone3-extensions/vishnu/src/vishnu/testvis/dendro/DendroKeywordPanel.java@ 8189

Last change on this file since 8189 was 8189, checked in by kjdon, 20 years ago

first version of Imperial College's Visualiser code

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 3.0 KB
Line 
1package vishnu.testvis.dendro;
2
3import javax.swing.*;
4import java.awt.*;
5import java.awt.event.*;
6import vishnu.testvis.visual.*;
7import vishnu.testvis.object.*;
8import java.util.*;
9import vishnu.testvis.treemap.table.*;
10
11class DendroKeywordPanel extends JPanel
12{
13 RW_DataModel _dataModel;
14 JTable _table = new JTable();
15 JScrollPane theScrollPane;
16 JCheckBox checkBoxes[];
17 JLabel labels[];
18 Vishnu currentMain;
19 DendroPanel parentPane;
20
21 public DendroKeywordPanel(Vishnu currentMain, DendroPanel parent)
22 {
23 this.currentMain = currentMain;
24 this.parentPane = parent;
25
26 theScrollPane = new JScrollPane();
27
28 setPreferredSize(new Dimension(200,900));
29 setBorder(BorderFactory.createLoweredBevelBorder());
30 setLayout(new BorderLayout(10,0));
31 Font theFont = new java.awt.Font("Monospaced", 0, 12);
32
33 _dataModel = new RW_DataModel();
34 _table.setModel(_dataModel);
35
36 _table.setAutoCreateColumnsFromModel(false);
37 _table.getColumnModel().getColumn(0).setPreferredWidth(20);
38 _table.getColumnModel().getColumn(1).setPreferredWidth(100);
39 _table.getColumnModel().getColumn(2).setPreferredWidth(50);
40 _table.setRowSelectionAllowed(false);
41 setupRenderer();
42
43 theScrollPane.getViewport().add(_table, null);
44 add(theScrollPane,"Center");
45
46 setVisible(true);
47
48 JButton refineButton = new JButton("Filter Documents");
49 refineButton.setBorder(BorderFactory.createRaisedBevelBorder());
50 refineButton.setMaximumSize(new Dimension(30,70));
51
52 MouseListener ml = new MouseAdapter()
53 {
54 public void mouseClicked(MouseEvent e)
55 {
56 refineEngine();
57 }
58 };
59
60 refineButton.addMouseListener(ml);
61 refineButton.setFont(theFont);
62 add(refineButton,"South");
63 }
64
65 public void refineEngine()
66 {
67 // the filter words are available from within _dataModel, so nothing
68 // is passed on
69 parentPane.hLinkPanel.setText(_dataModel.getRefinedDocs());
70 String trec_id[] = _dataModel.getRefinedTrecIDs();
71 String filter_Words[] = _dataModel.getFilterWords();
72 String s = new String("");
73 for( int i = 0; i < filter_Words.length; i++ )
74 {
75 s += filter_Words[i] + " ";
76 }
77 }
78
79
80 public void update(vishnu.testvis.dendro.ClusterObj c)
81 {
82 _dataModel.setData(currentMain.dataManager.getWords(), c);
83 }
84
85 public void clear()
86 {
87 _dataModel.clear();
88 }
89 private void setupRenderer()
90 {
91 BarRenderer bar = new BarRenderer();
92 //-- Have a number painted in the middle of the bar
93 bar.setStringPainted(true);
94 //-- setup the background color of the bar
95 bar.setBackground(_table.getBackground());
96
97 //-- render the last column as a bar
98 _table.getColumnModel().getColumn(2).setCellRenderer(bar);
99 }
100
101
102}
Note: See TracBrowser for help on using the repository browser.