1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package zeus.agentviewer.rete;
25
26
27 import javax.swing.*;
28 import java.awt.*;
29 import java.awt.event.*;
30 import java.util.*;
31
32 import zeus.agentviewer.*;
33 import zeus.util.*;
34
35 public class ReteEngineUI extends ZeusInternalFrame {
36 final int TOP_PANE_MIN_HEIGHT = 120;
37 final int TOP_PANE_MIN_WIDTH = 500;
38 final int BOTTOM_PANE_MIN_WIDTH = 50;
39 final int BOTTOM_PANE_MIN_HEIGHT = 50;
40
41 static int NUMBER_DISPLAYED = 0;
42
43 protected ReteEngineDataModel engineBuffer;
44 protected JTextArea textarea;
45
46 public ReteEngineUI(InternalFramesPanel deskTop,
47 ReteEngineDataModel engineBuffer)
48 {
49 super("Rule Engine",true,true,true,true);
50 setTitle("Rule Engine:" + (++NUMBER_DISPLAYED));
51 String sep = System.getProperty("file.separator");
52 String gifpath = SystemProps.getProperty("gif.dir") + "agentviewer" + sep;
53 ImageIcon icon = new ImageIcon(gifpath + ViewerNames.RETE_ENG_IMG);
54 setFrameIcon(icon);
55
56 this.engineBuffer = engineBuffer;
57 buildUI();
58 deskTop.addInternalFrame(this);
59 setVisible(true);
60 }
61
62 private void buildUI(){
63 textarea = new JTextArea(engineBuffer,null,40,80);
64 JScrollPane scrollpane = new JScrollPane(textarea);
65 scrollpane.setPreferredSize(
66 new Dimension(TOP_PANE_MIN_WIDTH, TOP_PANE_MIN_HEIGHT)
67 );
68 textarea.setEditable(false);
69 JPanel contentPane = (JPanel)getContentPane();
70 contentPane.setLayout(new BorderLayout());
71 contentPane.add(BorderLayout.CENTER,scrollpane);
72 pack();
73 }
74
75 void reSize(){
76 setSize(getWidth()-2,getHeight());
77 setSize(getWidth()+2,getHeight());
78 }
79 }