Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
JSiteMap - Java Site Map Generator - PopUp.java

PopUp.java

Caricato da: Teutoburgo
Scarica il programma completo

  1. /*
  2.     JSiteMap 0.9.0 - A Java Site Map Generator
  3.     Copyright (C) 2003 Pierre Blanc
  4.     Pierre Blanc: blanc_teutoburgo@yahoo.it
  5.     http://www.site-map.tk
  6.     http://it.geocities.com/teutoburgo
  7.  
  8.     This program is free software; you can redistribute it and/or modify
  9.     it under the terms of the GNU General Public License as published by
  10.     the Free Software Foundation; either version 2 of the License, or
  11.     (at your option) any later version.
  12.  
  13.     This program is distributed in the hope that it will be useful,
  14.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16.     GNU General Public License for more details.
  17.  
  18.     You should have received a copy of the GNU General Public License
  19.     along with this program; if not, write to the Free Software
  20.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  21.     or go to      http://www.gnu.org/copyleft/gpl.html
  22. */
  23.  
  24. package tk.teutoburgo.jsitemap;
  25.  
  26. import java.io.*;
  27. import java.awt.*;
  28. import java.awt.event.*;
  29. import java.util.*;
  30.  
  31. public class PopUp extends Frame
  32.                           implements ActionListener {
  33.     boolean inAnApplet = true, closeOk=true;
  34.         int n;
  35.         private TextArea textArea;
  36.     String newline;
  37.         Panel valuePanel=new Panel(), optionPanel=new Panel(),
  38.                         nPanel=new Panel();
  39.         GridLayout grid;
  40.         ScrollPane sp = new ScrollPane();
  41.         Button save=new Button("Save"), defaults=new Button("Restore default values");
  42.         Vector options;
  43.         Label labelStatus=new Label(".                                         .");
  44.         Util util=new Util();
  45.     public PopUp(Vector options) {
  46.                 newline = System.getProperty("line.separator");
  47.                 nPanel.add(save);
  48.                 save.addMouseListener(new java.awt.event.MouseAdapter() {
  49.                         public void mouseClicked(MouseEvent e) {
  50.                                 buttonSave_mouseClicked(e);
  51.                         }
  52.                         });
  53.                 defaults.addMouseListener(new java.awt.event.MouseAdapter() {
  54.                         public void mouseClicked(MouseEvent e) {
  55.                                 buttonDefaults_mouseClicked(e);
  56.                         }
  57.                         });
  58.                 nPanel.add(defaults);
  59.                 nPanel.add(labelStatus);
  60.                 n=options.size();
  61.                 grid = new GridLayout(n,2);
  62.                 optionPanel.setLayout(grid);
  63.                 sp.add(optionPanel);
  64.                 this.setLayout(new BorderLayout());
  65.                 this.add(sp, BorderLayout.CENTER);
  66.                 this.add(nPanel, BorderLayout.NORTH);
  67.                 loadOptions(options);
  68.                 addWindowListener(new WindowAdapter() {
  69.                         public void windowClosing(WindowEvent e) {
  70.                         if (inAnApplet) {
  71.                                 setVisible(false);
  72.                                 dispose();
  73.                         } else {
  74.                                 System.exit(0);
  75.                         }
  76.                         }
  77.                 });
  78.  
  79.         }
  80.  
  81.     public void loadOptions(Vector options) {
  82.                 optionPanel.removeAll();
  83.                 this.options=options;
  84.                 for(int i=0; i<n; i++){
  85.                         String[] option=(String[])options.elementAt(i);
  86.                         String type=option[2];
  87.                         optionPanel.add(new Label(option[0]),2*i);
  88.                         if(type.equals(JSiteMapApplet.STRING))
  89.                                 optionPanel.add(new TextField(option[1],10),2*i+1);
  90.                         else if(type.equals(JSiteMapApplet.NUMBER)){
  91.                                 optionPanel.add(new TextField(option[1],10),2*i+1);
  92.                         } else{
  93.                                 Checkbox check=new Checkbox();
  94.                                 if(option[1].equals("true"))
  95.                                         check.setState(true);
  96.                                 optionPanel.add(check,2*i+1);
  97.                         }
  98.                 }
  99.                 optionPanel.repaint();
  100.                 optionPanel.validate();
  101.     }
  102.  
  103.     void buttonSave_mouseClicked(MouseEvent e) {
  104.                 try{
  105.                 closeOk=true;
  106.                 FileInputStream fis=new FileInputStream(
  107.                     "./config/menuOptions.cfg");
  108.                 Properties p=new Properties();
  109.                 int n=optionPanel.getComponentCount()/2;
  110.                 for(int i=0; i<n; i++){
  111.                         Label label=(Label)(optionPanel.getComponent(2*i));
  112.                         String[] option=(String[])options.elementAt(i);
  113.                         String type=option[2];
  114.                         //System.out.println("+ "+i+" ++"+option[0]+" "+type);
  115.                         Component iComp=optionPanel.getComponent(2*i+1);
  116.                         if(type.equals(JSiteMapApplet.BOOLEAN)){
  117.                                 Checkbox cb=(Checkbox)(iComp);
  118.                                 if(cb.getState())
  119.                                         option[1]="true";
  120.                                 else
  121.                                         option[1]="false";
  122.                                 options.setElementAt(option,i);
  123.                         } else if(type.equals(JSiteMapApplet.STRING)){
  124.                                 TextField tf=(TextField)(iComp);
  125.                                 option[1]="\""+tf.getText()+"\"";
  126.                                 //System.out.println("VALUE="+option[1]);
  127.                         } else if(type.equals(JSiteMapApplet.NUMBER)){
  128.                                 try{
  129.                                         TextField tf=(TextField)(iComp);
  130.                                         Integer.parseInt(tf.getText());
  131.                                         option[1]=tf.getText();
  132.                                 }catch (NumberFormatException nfe){
  133.                                         labelStatus.setText("Error in a numeric field!");
  134.                                         closeOk=false;
  135.                                 }
  136.                         }
  137.                         p.setProperty(option[0],option[1]);
  138.                 }
  139.                 fis.close();
  140.                 FileOutputStream fos=new FileOutputStream(
  141.                     "./config/menuOptions.cfg");
  142.                 p.store(fos,null);
  143.                 if(closeOk)
  144.                         this.setVisible(false);
  145.         }catch(Exception fnfe){
  146.                 fnfe.printStackTrace();
  147.         }
  148.         }
  149.  
  150.         void buttonDefaults_mouseClicked(MouseEvent e) {
  151.                 try{
  152.                 options=util.readOptions("./config/defaultValues.cfg");
  153.                 loadOptions(options);
  154.                 }catch(Exception fnfe){
  155.                         fnfe.printStackTrace();
  156.                 }
  157.         }
  158.  
  159.     public void actionPerformed(ActionEvent event) {
  160.     }
  161.  
  162. }