1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 /******************************************************************************
25 * FactDialog.java
26 *
27 * A pop-up dialog that prompts selection of a fact
28 *****************************************************************************/
29
30 package zeus.generator.util;
31
32 import javax.swing.*;
33 import javax.swing.border.*;
34 import java.awt.*;
35 import java.awt.event.*;
36
37 import zeus.concepts.*;
38 import zeus.ontology.facts.*;
39
40
41 public class FactDialog extends JDialog implements ActionListener {
42 protected FactTreeUI treeView;
43 protected JButton okBtn, cancelBtn;
44 protected FactSelector caller = null;
45
46 public FactDialog(Frame parent, OntologyDb ontologyDb) {
47 super(parent,"Select Fact");
48
49 JPanel pane = (JPanel)getContentPane();
50 pane.setBorder(new EmptyBorder(10,10,10,10));
51 pane.setBackground(Color.lightGray);
52 pane.setLayout(new BorderLayout());
53
54 treeView = new FactTreeUI(ontologyDb);
55 JScrollPane treePane = new JScrollPane();
56 treePane.setPreferredSize(new Dimension(300,150));
57 treePane.getViewport().add(treeView);
58 pane.add(treePane,BorderLayout.CENTER);
59
60 JPanel controlpane = new JPanel();
61 controlpane.setLayout(new GridLayout(1,2,10,10));
62 pane.add(controlpane,BorderLayout.SOUTH);
63
64 okBtn = new JButton("OK");
65 okBtn.addActionListener(this);
66 cancelBtn = new JButton("Cancel");
67 cancelBtn.addActionListener(this);
68 controlpane.add(okBtn);
69 controlpane.add(cancelBtn);
70
71 setModal(true);
72 setVisible(false);
73 }
74
75 public void actionPerformed(ActionEvent evt) {
76 if ( evt.getSource() == okBtn ) {
77 setVisible(false);
78 String[] names = treeView.getSelectedNodeNames();
79 caller.factSelected(names);
80 }
81 else if ( evt.getSource() == cancelBtn ) {
82 setVisible(false);
83 }
84 }
85
86 public void display(FactSelector caller) {
87 this.caller = caller;
88 treeView.refresh();
89 pack();
90 setVisible(true);
91 }
92 }