help_outline
Ayudanos!
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Salir y volver a iniciar igual con la misma configuracion

  • 0 Respuestas
  • 1546 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ProcessKill

  • *
  • Underc0der
  • Mensajes: 154
  • Actividad:
    0%
  • Reputación 0
  • Arriba los hackers de Argentina!
    • Ver Perfil
    • Email
« en: Febrero 24, 2010, 04:13:36 pm »
Este programa simple pero avanzado muestra como guardar la configuracion del  programa y al salir  iniciar las misma configuracion que dejaste
consta de un button reset para borrar la configuracion.



Código: Java
  1. //-----------------------------------------------------------
  2. /*
  3.         @author L-EYER
  4.         @see GlassFish Tools Bundle For Eclipse
  5.                                                         Version: 0.9.9
  6. */
  7. //----------------------------------------------------------
  8. import java.awt.Container;
  9. import java.awt.FlowLayout;
  10. import java.awt.event.ActionEvent;
  11. import java.awt.event.ActionListener;
  12. import java.awt.event.WindowEvent;
  13. import java.awt.event.WindowListener;
  14. //----------------------------------------------------------
  15. import java.io.File;
  16. import java.io.FileNotFoundException;
  17. import java.io.FileOutputStream;
  18. import java.io.IOException;
  19. //----------------------------------------------------------
  20. import javax.swing.JButton;
  21. import javax.swing.JCheckBox;
  22. import javax.swing.JFrame;
  23. import javax.swing.JOptionPane;
  24. import javax.swing.JRadioButton;
  25. import javax.swing.SwingUtilities;
  26. import javax.swing.UIManager;
  27. import javax.swing.UIManager.LookAndFeelInfo;
  28. //----------------------------------------------------------
  29. import org.w3c.dom.DOMImplementation;
  30. import org.w3c.dom.Document;
  31. import org.w3c.dom.Element;
  32. import org.w3c.dom.Node;
  33. import org.w3c.dom.NodeList;
  34. import org.w3c.dom.Text;
  35. import org.xml.sax.SAXException;
  36. //----------------------------------------------------------
  37.  
  38. import com.sun.org.apache.xerces.internal.dom.DOMImplementationImpl;
  39. import com.sun.org.apache.xml.internal.serialize.OutputFormat;
  40. import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
  41.  
  42. public class ConfigGuard
  43. {
  44.         private static final long serialVersionUID = 1L;
  45.        
  46.         public static final String  nameFile="configuracion.xml";
  47.         public static final File        file=new File(nameFile);
  48.        
  49.         public  static  JButton          buttonGuard;
  50.         public  static  JButton          buttonReset ;
  51.         public  static  JCheckBox        check1;
  52.         public  static  JCheckBox        check2;
  53.         public  static  JRadioButton radioButton1;
  54.         public  static  JRadioButton radioButton2;
  55.        
  56.         public static void main(String[] args) {
  57.  
  58.         JFrame Frame    = new JFrame(" Salir he iniciar igual la configuracion ");
  59.        
  60.         LookAndFeelInfo[] LookAndFeel=UIManager.getInstalledLookAndFeels();
  61.         try {
  62.         UIManager.setLookAndFeel(LookAndFeel[3].getClassName() );
  63.         SwingUtilities.updateComponentTreeUI( Frame );
  64.         }catch (Exception e) {}
  65.         Frame.setLayout(new FlowLayout(FlowLayout.CENTER));
  66.                
  67.         buttonGuard        =   new javax.swing.JButton("Guardar");
  68.         buttonReset    =   new javax.swing.JButton("Reset");
  69.         check1             =   new JCheckBox("Config 1",false);
  70.         check2             =   new JCheckBox("Config 2",false);
  71.         radioButton1   =   new JRadioButton("RadioButton 1");
  72.     radioButton2   =   new JRadioButton("RadioButton 2");
  73.  
  74.     ConfigGuard.VerifyConfigurationSaved(Frame);
  75.      
  76.         final Container container  =   Frame.getContentPane();
  77.         container                       .add(check1);           container                       .add(check2);
  78.         container                       .add(radioButton1); container                   .add(radioButton2);
  79.         container           .add(buttonGuard);  container           .add(buttonReset);
  80.        
  81.         final listerner         listerner       = new listerner(Frame);
  82.     buttonGuard         .addActionListener( listerner );
  83.         buttonReset         .addActionListener( listerner );
  84.        
  85.         Frame.addWindowListener(new WindowListener() {
  86.                 @Override public void windowOpened(WindowEvent e) {}
  87.                 @Override public void windowIconified(WindowEvent e) {}
  88.                 @Override public void windowDeactivated(WindowEvent e) {}
  89.                 @Override public void windowClosing(WindowEvent e) {System.out.println("Exit");System.exit(0);}
  90.                 @Override public void windowClosed(WindowEvent e) {}
  91.             @Override public void windowActivated(WindowEvent e) {}
  92.                 @Override public void windowDeiconified(WindowEvent e) {
  93.                 }
  94.            }
  95.          );    
  96.         Frame.setSize(400,100);
  97.         Frame.setLocationRelativeTo(new JFrame());
  98.         Frame.setVisible(true);
  99.         }
  100.         public static void VerifyConfigurationSaved(JFrame Frame)
  101.         {if( file.exists() ){
  102.                         new InitConfig( true , Frame , nameFile );}
  103.         else{
  104.                         new InitConfig( false , Frame , nameFile );}
  105.         }
  106. }
  107. class listerner implements ActionListener
  108. {
  109.         private JFrame GUI;
  110.        
  111.         public  Text    _C1 =   null;
  112.         public  Text    _C2 =   null;
  113.         public  Text    _R1 =   null;
  114.         public  Text    _R2 =   null;
  115.        
  116.         public listerner (JFrame frame){ GUI = frame;   }
  117.         @Override
  118.         public void actionPerformed(ActionEvent e) {
  119.                 if(e.getActionCommand().equalsIgnoreCase("Guardar")){
  120.                        
  121.                 final DOMImplementation impl    = DOMImplementationImpl.getDOMImplementation();
  122.             final  Document XMLdoc                       = impl.createDocument(null,"Configuracion",null);
  123.            
  124.             Element raiz = XMLdoc.getDocumentElement();
  125.                 Element config=XMLdoc.createElement("Confifuracion");
  126.                  
  127.                 final OutputFormat out = new OutputFormat(XMLdoc);
  128.                 XMLSerializer serializer;
  129.                  
  130.                 final Element _check1=XMLdoc.createElement("Check1_is_Select");
  131.                 final Element _check2=XMLdoc.createElement("Check2_is_Select");
  132.                 final Element _Radio1=XMLdoc.createElement("Radio1_is_Select");
  133.                 final Element _Radio2=XMLdoc.createElement("Radio2_is_Select");
  134.                        
  135.                 if(ConfigGuard.check1.isSelected()){
  136.                 _C1=XMLdoc.createTextNode("true");
  137.                              _check1.appendChild(_C1);
  138.                              config.appendChild(_check1);
  139.                         }else{
  140.                 _C1=XMLdoc.createTextNode("false");
  141.                                   _check1.appendChild(_C1);
  142.                                   config.appendChild(_check1);
  143.                         }
  144.                 if(ConfigGuard.check2.isSelected()){
  145.             _C2=XMLdoc.createTextNode("true");
  146.                                 _check2.appendChild(_C2);
  147.                                 config.appendChild(_check2);
  148.                         }else{
  149.                 _C2=XMLdoc.createTextNode("false");
  150.                                  _check2.appendChild(_C2);
  151.                                  config.appendChild(_check2);
  152.                         }
  153.                 if(ConfigGuard.radioButton1.isSelected()){
  154.                 _R1=XMLdoc.createTextNode("true");
  155.                                 _Radio1.appendChild(_R1);
  156.                                 config.appendChild(_Radio1);
  157.                         }else{
  158.                 _R1=XMLdoc.createTextNode("false");
  159.                                 _Radio1.appendChild(_R1);
  160.                                 config.appendChild(_Radio1);
  161.                         }
  162.                 if(ConfigGuard.radioButton2.isSelected()){
  163.                                 _R2=XMLdoc.createTextNode("true");
  164.                                 _Radio2.appendChild(_R2);
  165.                              config.appendChild(_Radio2);
  166.                         }else{
  167.                                 _R2=XMLdoc.createTextNode("false");
  168.                                 _Radio2.appendChild(_R2);
  169.                                 config.appendChild(_Radio2);
  170.                         }                  
  171.                         raiz.appendChild(config);
  172.                     try {
  173.  
  174.                         FileOutputStream fileOutputStream       = new FileOutputStream("configuracion.xml",false);
  175.                         serializer                                                  = new XMLSerializer(fileOutputStream, out);
  176.                                 try {
  177.                                         serializer.serialize(XMLdoc);
  178.                                        
  179.                                         fileOutputStream.flush();
  180.                                         fileOutputStream.close();
  181.                                        
  182.                                         ConfigGuard.buttonGuard.setEnabled(false);
  183.                
  184.                         } catch (IOException e1) {e1.printStackTrace();}
  185.                         } catch (FileNotFoundException e1) {e1.printStackTrace();
  186.                         } catch (Exception exception) {exception.printStackTrace();
  187.                 }
  188.                         JOptionPane.showMessageDialog(GUI,"Configuracion Cuargada Correctamente!","Guardar",JOptionPane.INFORMATION_MESSAGE);
  189.         }
  190.         if(e.getActionCommand().equalsIgnoreCase("Reset")){
  191.                
  192.                 if(ConfigGuard.file.exists()){
  193.                         ConfigGuard.file.delete();
  194.                 }else{
  195.                         JOptionPane.showMessageDialog(GUI,"Configuracion Borrada!","Reset",JOptionPane.INFORMATION_MESSAGE);
  196.                 }
  197.                         _C1=null;_C2=null;
  198.                         _R1=null;_R2=null;
  199.        
  200.                         ConfigGuard.buttonGuard         .setEnabled(true);
  201.                         ConfigGuard.check1                      .setSelected(false);
  202.                         ConfigGuard.check2                      .setSelected(false);
  203.                         ConfigGuard.radioButton1        .setSelected(false);
  204.                         ConfigGuard.radioButton2        .setSelected(false);
  205.                 }
  206.         }
  207. }
  208. class InitConfig
  209. {
  210.         private final com.sun.org.apache.xerces.internal.parsers.DOMParser DOM
  211.         = new com.sun.org.apache.xerces.internal.parsers.DOMParser();
  212.         private JFrame parent;
  213.         public InitConfig( boolean FILEexists , JFrame frame, String file ) {
  214.         try {
  215.         parent  =       frame;
  216.                 if( FILEexists ){
  217.                                        
  218.                 DOM.parse(file);
  219.                 Document doc=DOM.getDocument();
  220.                                        
  221.                 NodeList _CK1= doc.getElementsByTagName("Check1_is_Select");
  222.                 NodeList _CK2= doc.getElementsByTagName("Check2_is_Select");
  223.                 NodeList _RD1= doc.getElementsByTagName("Radio1_is_Select");
  224.                 NodeList _RD2= doc.getElementsByTagName("Radio2_is_Select");
  225.                                
  226.                         final Node c1=_CK1.item(0).getFirstChild();
  227.                         final Node c2=_CK2.item(0).getFirstChild();
  228.                         final Node r1=_RD1.item(0).getFirstChild();
  229.                         final Node r2=_RD2.item(0).getFirstChild();
  230.                        
  231.                         if(c1.getNodeValue().equals("true"))
  232.                                 {ConfigGuard.check1.setSelected(true);
  233.                                
  234.                                         }else{ConfigGuard.check1.setSelected(false);
  235.                                 }
  236.                         if(c2.getNodeValue().equals("true"))
  237.                                 {ConfigGuard.check2.setSelected(true);
  238.                                
  239.                                         }else{ConfigGuard.check2.setSelected(false);
  240.                                 }
  241.                         if(r1.getNodeValue().equals("true"))
  242.                                 {ConfigGuard.radioButton1.setSelected(true);
  243.                                
  244.                                         }else{ConfigGuard.radioButton1.setSelected(false);
  245.                                 }
  246.                         if(r2.getNodeValue().equals("true"))
  247.                                 {ConfigGuard.radioButton2.setSelected(true);
  248.                                
  249.                                         }else{ConfigGuard.radioButton2.setSelected(false);
  250.                                 }
  251.                                         }else
  252.                                 {
  253.                                 JOptionPane.showMessageDialog(parent,"No se ha Guardado Ninguna Configuracion.","Informacion",JOptionPane.INFORMATION_MESSAGE);
  254.                                 }
  255.                         } catch (SAXException e) {e.printStackTrace();
  256.                                 System.exit(0);
  257.                         } catch (IOException e) {
  258.                                 JOptionPane.showMessageDialog(new JFrame(),"Error al Leer el archivo.","??????????????",JOptionPane.INFORMATION_MESSAGE);
  259.                                 e.printStackTrace();
  260.                                 System.exit(0);
  261.                         }
  262.                 }
  263.         }
  264.  
« Última modificación: Abril 18, 2013, 12:42:57 pm por Expermicid »

 

¿Te gustó el post? COMPARTILO!