KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > cve > staticLayout > ChoiceEnvironment


1 package cve.staticLayout;
2
3 import cve.environment.*;
4 import cve.core.elementEEL.*;
5 import cve.util.ConfigurationRead;
6
7 import java.awt.event.*;
8 import java.awt.*;
9 import javax.swing.*;
10 import javax.swing.event.*;
11
12 import java.io.File JavaDoc;
13 import java.io.IOException JavaDoc;
14 import java.io.*;
15 import java.util.*;
16
17 import org.apache.log4j.Logger;
18
19 import interactionGraphics.*;
20
21 /**
22 * This dialog manage the environment choice
23 *
24 * @version 1.1.0
25 * @author Domenico Ventriglia
26 *
27 */

28 public class ChoiceEnvironment extends GenericFrame
29 implements ListSelectionListener,ActionListener,MouseListener {
30
31    /**
32    * Model della JList listaSes. Vi sono elenco sessioni
33    *
34    */

35    private Vector session=new Vector();
36
37    /**
38    *
39    */

40    private JList listSes,listEle;
41
42    /**
43    * Provoca l'esecuzione di un ambiente cve
44    */

45    private JButton esegui;
46
47    /**
48    * Chiude dialogo
49    */

50    private JButton annulla;
51
52    /**
53    * Model della JList listaEle. Vi sono elenco elementi di una sessione
54    *
55    */

56    private DefaultListModel model=new DefaultListModel();
57
58    //GF
59
/**
60    * Elenco Classi Associate agli Item di Sessione
61    *
62    */

63    private Vector classes=new Vector();
64
65    //GF
66
/**
67    * Elenco Icone Associate agli Item di Sessione
68    *
69    */

70    private Vector icons=new Vector();
71
72    //GF
73
/**
74    * Dimensioni
75    */

76    private int size_width = 800;
77    private int size_heigth= 800;;
78
79    private JSplitPane SplitVertical;
80
81    /**
82    * Ambiente EEL scelto
83    */

84    IEnvironmentEEL envEEL;
85
86    /**
87    * Riferiemnto alla classe server (deve passargli ambienteEEL)
88    */

89    private Cve cveFrame;
90
91    /**
92    * Costruttore della dialog composto da due JList
93    * Vengono letti i parametri dal file di configurazione
94    * @param cveFrame
95    */

96    public ChoiceEnvironment(String JavaDoc Title, String JavaDoc iconPath) {
97       super(Title, iconPath);
98       Cve.errLog.debug("");
99    };
100
101    public void init(JFrame cveFrame) {
102       //super(cveFrame,ConfigurationRead.getEnvironmentTitle(),false);
103
Cve.errLog.debug("");
104       this.cveFrame=(Cve)cveFrame;
105       Container contentPane=getContentPane();
106       contentPane.setLayout ( new BorderLayout() );
107
108       //GF Posizionamento della finestra sempre al centro dello
109
// schermo per qualsiasi formato
110
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
111       setLocation(((screenSize.width*10)/100),((screenSize.width*10)/100));
112
113       //setLocation(200,200);
114
setSize(size_width,size_heigth);
115       JPanel pan1=new JPanel();
116       pan1.setLayout ( new GridLayout(1,1) );
117
118       //Caricamento Sessioni
119
Collection containerEnv=ConfigurationRead.getEnvironmentContainer();
120       Iterator itContainer=containerEnv.iterator();
121       if (itContainer!=null){
122          while (itContainer.hasNext()){
123             String JavaDoc nameContainer=(String JavaDoc)itContainer.next();
124             session.add(nameContainer);
125          }
126       }
127
128       //lista sessioni (sinistra)
129
listSes = new JList(session);
130       listSes.addListSelectionListener(this);
131       listSes.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
132       JScrollPane listScrollPane = new JScrollPane(listSes);
133       listSes.setPreferredSize(new Dimension(300, 300));
134       pan1.add(listScrollPane);
135       //pan1.add(listSes);
136

137       //lista elementi sessioni (destra)
138
listEle = new JList(model);
139       listEle.addMouseListener(this);
140       listEle.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
141       JScrollPane listScrollPane1 = new JScrollPane(listEle);
142       listEle.setPreferredSize(new Dimension(300, 300));
143       pan1.add(listScrollPane1);
144       //pan1.add(listEle);
145

146
147       SplitVertical = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
148       SplitVertical.setLeftComponent( listScrollPane );
149       SplitVertical.setRightComponent( listScrollPane1 );
150       SplitVertical.setOneTouchExpandable( true );
151       SplitVertical.setDividerLocation( 250 );
152       SplitVertical.setResizeWeight( 0 );
153
154       pan1.add(SplitVertical,"Center");
155
156       JPanel pan=new JPanel(new FlowLayout());
157
158       ImageIcon iconopen = new ImageIcon(ConfigurationRead.getCveRoot() + "//resource//OPEN.gif");
159       esegui=new JButton("OK",iconopen);
160       esegui.setEnabled(false);
161       esegui.addActionListener(this);
162
163       ImageIcon iconcancel = new ImageIcon(ConfigurationRead.getCveRoot() + "//resource//CANCEL.gif");
164       annulla=new JButton("Cancel", iconcancel);
165       annulla.addActionListener(this);
166
167       pan.add(esegui);
168       pan.add(annulla);
169       contentPane.add(pan1,BorderLayout.CENTER);
170       contentPane.add(pan,BorderLayout.SOUTH);
171       pack();
172       show();
173       setVisible(true);
174    }
175
176    /**
177    * It manages a model JListe
178    * It reads configuration file
179    *
180    * @param ListSelectionEvent
181    */

182    public void valueChanged(ListSelectionEvent e) {
183       Cve.errLog.debug("");
184       if (e.getValueIsAdjusting() == false) {
185
186          //Gestione Lista di Sinistra per Valorizzazione Destra
187
if (listSes.getSelectedIndex() == -1) {
188             //No selection, disable fire button.
189
esegui.setEnabled(false);
190          }
191
192          //GF
193
//Caricamento degli Item Associati alla Session
194
model.removeAllElements();
195
196          //Pulizia Vettore Contenimento Classi
197
classes.clear();
198
199          //Pulizia Vettore Contenimento Icone
200
icons.clear();
201
202          java.util.List JavaDoc itemEnv=ConfigurationRead.getEnvironmentItem(listSes.getSelectedIndex());
203
204          java.util.List JavaDoc itemEnvClass=ConfigurationRead.getEnvironmentItemClass(listSes.getSelectedIndex());
205          java.util.List JavaDoc itemEnvIcon=ConfigurationRead.getEnvironmentItemIcon(listSes.getSelectedIndex());
206
207          Iterator itItem=itemEnv.iterator();
208          Iterator itItemClass=itemEnvClass.iterator();
209          Iterator itItemIcon=itemEnvIcon.iterator();
210
211          if (itItem!=null){
212             while (itItem.hasNext()){
213                //Aggiornamento Modello
214
String JavaDoc nameItem=(String JavaDoc)itItem.next();
215                model.addElement(nameItem);
216
217                //Aggiornamento Lista Classi
218
//Nota:Scorrimento parallelo alla lista di
219
// identificazione Ambienti
220
String JavaDoc nameClass=(String JavaDoc)itItemClass.next();
221                classes.addElement(nameClass);
222
223                String JavaDoc pathImage=(String JavaDoc)itItemIcon.next();
224                icons.addElement(pathImage);
225             }
226          }
227
228          esegui.setEnabled(false);
229       }
230    }
231
232    /**
233    *
234    */

235    public void mouseReleased(MouseEvent me){}
236
237    /**
238    *
239    */

240    public void mouseExited(MouseEvent me){}
241
242    /**
243    *
244    */

245    public void mouseEntered(MouseEvent me){}
246
247    /**
248    *
249    */

250    public void mouseClicked(MouseEvent me){}
251
252    /**
253    * It manages Mouse trigger
254    *
255    * @param e MouseEvent
256    * @see MouseListener
257    */

258    public void mousePressed(MouseEvent me){
259       Cve.errLog.debug("");
260       if (me.getModifiers()==me.BUTTON1_MASK ){
261
262          //Abilitazione Pulsante OK solo se si seleziona un elemento Session
263
if (listEle.getSelectedIndex() >= 0){
264             esegui.setEnabled(true);
265          } else {
266             esegui.setEnabled(false);
267          }
268       }
269       if (me.getModifiers()==me.BUTTON3_MASK ){
270          System.out.println(" @staticLayout.ChoiceEnvironment: mousePressed : BUTTON3_MASK (Rigth)");
271
272          if (esegui.isEnabled()==true){
273             loadEnv();
274          }
275       }
276    }
277
278    /**
279    * It manages button event
280    *
281    * @param e ActionEvent
282    * @see ActionListener
283    */

284    public void actionPerformed(ActionEvent e) {
285       Cve.errLog.debug("");
286       if (e.getActionCommand().equals("OK")) {
287          loadEnv();
288       } else { // cliccato su cancel
289
Cve.setChoiceEnvOpen(false);
290          this.dispose();
291       }
292    }
293
294    /**
295    * It runs the rigth make_env
296    * It stores in EnvironmentEEL the environment instance
297    */

298    private void loadEnv() {
299       //GF
300
//Selezione Classe in base Sessione ed Item
301
//Nota:mi basta selezionare l'item in quanto ogni volta
302
// che cambio Sessione vengono ricaricati i
303
// vettori di riferimento Item
304

305       Cve.errLog.debug("");
306       String JavaDoc nameClass = (String JavaDoc)classes.get(listEle.getSelectedIndex());
307       String JavaDoc pathIcon = (String JavaDoc)icons.get(listEle.getSelectedIndex());
308       String JavaDoc titleEnv = (String JavaDoc)model.get(listEle.getSelectedIndex());
309       //Creazione Riferimento
310
Class JavaDoc env=null;
311       try {
312          env = Class.forName(nameClass);
313       } catch (ClassNotFoundException JavaDoc ex) {
314          Cve.errLog.error(ex.toString());
315       }
316       //Istanzazione classe ed avvio Frame
317
try {
318          Make_env envobj = (Make_env)env.newInstance();
319
320          //GF Impostazione da File di Configuarione
321
envobj.setIconEnv(pathIcon);
322
323          //GF Passaggio Titolo nome ambiente
324
envobj.setTitle(titleEnv);
325
326          //GF Creazione Ambiente -->Come costruttore
327
envobj.createEnv();
328
329          envEEL=envobj.getEnvironmentEEL();
330          cveFrame.setEnvironment(envEEL);
331       } catch (Exception JavaDoc exc) {
332          Cve.errLog.error(exc.toString());
333       }
334
335       Cve.setChoiceEnvOpen(false);
336       this.dispose();
337    }
338
339 }
Popular Tags