practica1edd.Interfaz.java Source code

Java tutorial

Introduction

Here is the source code for practica1edd.Interfaz.java

Source

    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    package practica1edd;

    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Container;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.GridLayout;
    import java.awt.Image;
    import java.awt.SystemColor;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.ItemEvent;
    import java.awt.event.ItemListener;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.io.File;
    import java.io.IOException;
    import java.net.URL;
    import java.util.List;
    import java.util.Random;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.swing.BorderFactory;
    import javax.swing.DefaultListModel;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JComponent;
    import javax.swing.JDialog;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JList;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTabbedPane;
    import javax.swing.JTextField;
    import javax.swing.ListSelectionModel;
    import javax.swing.border.Border;
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.event.ListSelectionListener;
    import javax.swing.filechooser.FileFilter;
    import javax.swing.filechooser.FileNameExtensionFilter;
    import org.jdom2.Document;
    import org.jdom2.Element;
    import org.jdom2.input.SAXBuilder;

    /**
     *
     * @author Eliezer Coronado
     */
    public class Interfaz extends JFrame {

        String ActualUsuario = "";

        String lcircular = "letras/CicularNombres.png";
        String ldiccionario = "letras/Diccionario.png";
        String lfichas = "letras/ColaLetras.png";
        String ljfichas = "letras/ListaFichas.png";
        String lmatriz = "letras/Matriz.png";

        int dimen = 0;

        ImageIcon Icircular = new ImageIcon(getClass().getResource(lcircular));
        ImageIcon Idiccionario = new ImageIcon(getClass().getResource(ldiccionario));
        ImageIcon Ifichas = new ImageIcon(getClass().getResource(lfichas));
        ImageIcon Ijfichas = new ImageIcon(getClass().getResource(ljfichas));
        ImageIcon Imatriz = new ImageIcon(getClass().getResource(lmatriz));

        String l1 = "";
        String l2 = "";
        String l3 = "";
        String l4 = "";
        String l5 = "";
        String l6 = "";
        String l7 = "";

        String tiempo = "";

        boolean tirovalido2 = true;

        boolean b = false;

        private JLabel lusuario;
        public JList lista = new JList();
        public DefaultListModel modelo = new DefaultListModel();
        public JScrollPane scroll1 = new JScrollPane();

        SAXBuilder builder = new SAXBuilder(false);

        private String fondo = "letras/fondo.png";
        private String doble = "letras/doble.png";
        private String triple = "letras/triple.png";
        private String la = "letras/A.png";
        private String lb = "letras/B.png";
        private String lc = "letras/C.png";
        private String ld = "letras/D.png";
        private String le = "letras/E.png";
        private String lf = "letras/F.png";
        private String lg = "letras/G.png";
        private String lh = "letras/H.png";
        private String li = "letras/I.png";
        private String lj = "letras/J.png";
        private String ll = "letras/L.png";
        private String lm = "letras/M.png";
        private String ln = "letras/N.png";
    private String l="letras/.png";
        private String lo = "letras/O.png";
        private String lp = "letras/P.png";
        private String lq = "letras/Q.png";
        private String lr = "letras/R.png";
        private String ls = "letras/S.png";
        private String lt = "letras/T.png";
        private String lu = "letras/U.png";
        private String lv = "letras/V.png";
        private String lx = "letras/X.png";
        private String ly = "letras/Y.png";
        private String lz = "letras/Z.png";

        String f1 = "";
        String f2 = "";
        String f3 = "";
        String f4 = "";
        String f5 = "";
        String f6 = "";
        String f7 = "";

        boolean tirovalido = false;
        boolean u1 = false;
        boolean u2 = false;
        boolean u3 = false;
        boolean u4 = false;
        boolean u5 = false;
        boolean u6 = false;
        boolean u7 = false;

        boolean um1 = false;
        boolean um2 = false;
        boolean um3 = false;
        boolean um4 = false;
        boolean um5 = false;
        boolean um6 = false;
        boolean um7 = false;
        int quitar = 0;

        int fx1 = 0;
        int fx2 = 0;
        int fx3 = 0;
        int fx4 = 0;
        int fx5 = 0;
        int fx6 = 0;
        int fx7 = 0;

        int fy1 = 0;
        int fy2 = 0;
        int fy3 = 0;
        int fy4 = 0;
        int fy5 = 0;
        int fy6 = 0;
        int fy7 = 0;

        int val1 = 0;
        int val2 = 0;
        int val3 = 0;
        int val4 = 0;
        int val5 = 0;
        int val6 = 0;
        int val7 = 0;

        private String gletra = "";
        private int posx = 0;
        private int posy = 0;

        ImageIcon Ifondo = new ImageIcon(getClass().getResource(fondo));
        ImageIcon Idoble = new ImageIcon(getClass().getResource(doble));
        ImageIcon Itriple = new ImageIcon(getClass().getResource(triple));
        ImageIcon Ia = new ImageIcon(getClass().getResource(la));
        ImageIcon Ib = new ImageIcon(getClass().getResource(lb));
        ImageIcon Ic = new ImageIcon(getClass().getResource(lc));
        ImageIcon Id = new ImageIcon(getClass().getResource(ld));
        ImageIcon Ie = new ImageIcon(getClass().getResource(le));
        ImageIcon If = new ImageIcon(getClass().getResource(lf));
        ImageIcon Ig = new ImageIcon(getClass().getResource(lg));
        ImageIcon Ih = new ImageIcon(getClass().getResource(lh));
        ImageIcon Ii = new ImageIcon(getClass().getResource(li));
        ImageIcon Ij = new ImageIcon(getClass().getResource(lj));
        ImageIcon Il = new ImageIcon(getClass().getResource(ll));
        ImageIcon Im = new ImageIcon(getClass().getResource(lm));
        ImageIcon In = new ImageIcon(getClass().getResource(ln));
    ImageIcon I=new ImageIcon(getClass().getResource(l));
    ImageIcon Io = new ImageIcon(getClass().getResource(lo));
    ImageIcon Ip = new ImageIcon(getClass().getResource(lp));
    ImageIcon Iq = new ImageIcon(getClass().getResource(lq));
    ImageIcon Ir = new ImageIcon(getClass().getResource(lr));
    ImageIcon Is = new ImageIcon(getClass().getResource(ls));
    ImageIcon It = new ImageIcon(getClass().getResource(lt));
    ImageIcon Iu = new ImageIcon(getClass().getResource(lu));
    ImageIcon Iv = new ImageIcon(getClass().getResource(lv));
    ImageIcon Ix = new ImageIcon(getClass().getResource(lx));
    ImageIcon Iy = new ImageIcon(getClass().getResource(ly));
    ImageIcon Iz = new ImageIcon(getClass().getResource(lz));
    
    
    
int Puntos=0;
    JLabel segundos=new JLabel();
Tiempo animator=new Tiempo();
    
ImageIcon im=new ImageIcon();    
    
    CircularNombres usuario=new CircularNombres();
    ListaSimpleDiccionario diccionario=new ListaSimpleDiccionario();
    ColaLetras cola=new ColaLetras();
    Matriz matriz=new Matriz();
    
    Archivos Archivo= new Archivos();

        private Boolean arch = false;

        String gfichas = "";
        int grandom = 0;

        public Interfaz() throws IOException {

            super("Scrabble");

            String fichas = "AAAAAAAAAAAA" + "BB" + "CCCC" + "DDDDD" + "EEEEEEEEEEEE" + "F" + "GG" + "HH" + "IIIIII"
                    + "J" + "LLLL" + "MM" + "NNNNN" + "" + "OOOOOOOOO" + "PP" + "Q" + "RRRRR" + "SSSSSS" + "TTTT"
                    + "UUUUU" + "V" + "X" + "Y" + "Z";

            Random rands = new Random();

            for (int i = 0; i < 95; i++) {
                String auxa, auxb;

                int a = rands.nextInt(fichas.length()) + 1;
                String aux3 = "" + fichas.charAt(a - 1);
                cola.agregar(aux3);
                auxa = fichas.substring(0, a - 1);
                auxb = fichas.substring(a);
                fichas = auxa + auxb;

            }

            this.setVisible(false);

            JButton Leer = new JButton();
            JButton Jugar = new JButton();

            Leer.setText("Leer Archivo");
            Leer.setBounds(100, 100, 150, 100);

            Jugar.setText("Jugar");
            Jugar.setBounds(400, 100, 150, 100);

            Jugar.addActionListener(new ActionListener() { // clase interna annima

                // terminar la aplicacin cuando el usuario haga clic en elementoSalir
                public void actionPerformed(ActionEvent evento) {

                    if (arch == false) {

                        JOptionPane.showMessageDialog(null, "No se ha cargo ningun archivo", "ERROR", 1, Ia);
                    } else {
                        setVisible(false);

                        try {
                            matriz.mostrarGraphviz();
                        } catch (IOException ex) {
                            Logger.getLogger(Interfaz.class.getName()).log(Level.SEVERE, null, ex);
                        }

                        Jugadores();
                    }
                }

            }

            );

            Leer.addActionListener(new ActionListener() { // clase interna annima

                // terminar la aplicacin cuando el usuario haga clic en elementoSalir
                public void actionPerformed(ActionEvent evento)

                {

                    String auxA = "";
                    auxA = Archivo.dialogoSelectorImagen();
                    File arp;

                    String word = null;
                    File archivo = new File(auxA);

                    if (auxA == "") {
                        JOptionPane.showMessageDialog(null, "No se cargo ningun archivo", "ERROR", 1, Is);
                    } else if (archivo.exists() == false) {

                        JOptionPane.showMessageDialog(null, "El Archivo no existe", "", 1, Ie);

                        System.out.println(word);

                    } else {
                        arch = true;

                        int p = 0;
                        String dimension = "";
                        String dobles = "";
                        String triples = "";
                        String adiccionario = "";

                        SAXBuilder builder = new SAXBuilder(false);
                        try {
                            Document doc = builder.build(auxA);
                            Element raiz = doc.getRootElement();

                            List<Element> studentList = raiz.getChildren();

                            for (int temp = 0; temp < studentList.size(); temp++) {

                                Element student = studentList.get(temp);

                                if (student.getName() == "diccionario") {
                                    adiccionario = student.getValue();

                                }

                                if (student.getName() == "dimension") {
                                    dimension = student.getValue();
                                }

                                if (student.getName() == "dobles") {
                                    dobles = student.getValue();

                                }

                                if (student.getName() == "triples") {
                                    triples = student.getValue();
                                }

                            }

                        } catch (Exception e) {
                            System.out.println(e);
                        }
                        dimen = Integer.parseInt(dimension);
                        for (int i = 0; i < dimen; i++) {
                            for (int j = 0; j < dimen; j++) {
                                matriz.Agregar(j, i, "fondo");
                            }
                        }

                        String dic[] = adiccionario.split("\n");

                        for (String dia : dic) {
                            if (dia.equals("")) {
                            } else {
                                diccionario.agregar(dia);
                            }
                        }

                        String doble[] = dobles.split("\n");

                        int ppe = 0;

                        for (int pa = 0; pa < doble.length; pa++) {

                            if (ppe == 3) {

                                int m1 = Integer.parseInt(doble[pa - 1]);
                                int m2 = Integer.parseInt(doble[pa]);
                                matriz.modificar(m1, m2, "doble");

                                ppe = 0;
                            } else {
                                ppe = ppe + 1;
                            }
                        }

                        String triple[] = triples.split("\n");

                        ppe = 0;

                        for (int pa = 0; pa < triple.length; pa++) {

                            if (ppe == 3) {
                                int m1 = Integer.parseInt(triple[pa - 1]);
                                int m2 = Integer.parseInt(triple[pa]);
                                matriz.modificar(m1, m2, "triple");

                                ppe = 0;
                            } else {
                                ppe = ppe + 1;
                            }
                        }

                        try {
                            matriz.mostrarGraphviz();
                        } catch (IOException ex) {
                            Logger.getLogger(Interfaz.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        diccionario.mostrarGraph();

                    }

                }

            });

            this.setLayout(null);
            this.add(Leer);
            this.add(Jugar);
            this.setBounds(600, 250, 670, 370);
            this.setResizable(false);
            this.setVisible(true);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            // if(b==false){
            //dialogo();
            // }

        }

        private JFrame Jugadores() {
            JFrame dialogo = new JFrame();
            JButton Agregar = new JButton();
            JButton Jugar = new JButton();
            JTextField Nombre = new JTextField();
            Nombre.setText(null);
            JLabel label1 = new JLabel();
            JLabel label2 = new JLabel();

            label1.setText("Ingreso de Jugadores");
            label1.setBounds(250, 5, 150, 100);

            label2.setText("Nombre de Usuario");
            label2.setBounds(250, 30, 150, 100);

            Nombre.setBounds(250, 100, 200, 30);

            Agregar.setText("Agregar Jugador");
            Agregar.setBounds(250, 150, 200, 30);

            Jugar.setText("Jugar");
            Jugar.setBounds(250, 200, 200, 30);

            Jugar.addActionListener(new ActionListener() { // clase interna annima

                // terminar la aplicacin cuando el usuario haga clic en elementoSalir
                public void actionPerformed(ActionEvent evento) {

                    if (usuario.vacio() == true) {

                        JOptionPane.showMessageDialog(null, "No se ha ingresado ningun jugador");
                    } else {

                        dialogo.setVisible(false);
                        try {

                            cola.mostrarGraph();
                            usuario.mostrarGraph();
                            usuario.mostrarGraphFichas();

                            Juego();
                        } catch (IOException ex) {
                            Logger.getLogger(Interfaz.class.getName()).log(Level.SEVERE, null, ex);
                        }
                    }
                }

            }

            );

            Agregar.addActionListener(new ActionListener() { // clase interna annima

                // terminar la aplicacin cuando el usuario haga clic en elementoSalir
                public void actionPerformed(ActionEvent evento) {

                    if (Nombre.getText().length() == 0) {
                        JOptionPane.showMessageDialog(null, "Nombre invalido");
                    } else if (usuario.buscar(Nombre.getText()) == true) {

                        JOptionPane.showMessageDialog(null, "Nombre de usuario ya existente");

                    } else {
                        String letra = null;
                        usuario.agregar(Nombre.getText());
                        for (int i = 0; i < 7; i++) {

                            letra = cola.eliminar();

                            usuario.agregarfichas(Nombre.getText(), letra);
                        }

                        JOptionPane.showMessageDialog(null, "Ingresado con exito!");
                        try {
                            cola.mostrarGraph();
                            usuario.mostrarGraph();
                            usuario.mostrarGraphFichas();
                        } catch (IOException ex) {
                            Logger.getLogger(Interfaz.class.getName()).log(Level.SEVERE, null, ex);
                        }

                    }

                }

            });

            dialogo.setLayout(null);
            dialogo.add(Agregar);
            dialogo.add(Jugar);
            dialogo.add(label1);
            dialogo.add(label2);
            dialogo.add(Nombre);

            dialogo.setTitle("Scrabble");
            dialogo.setBounds(600, 250, 670, 370);
            dialogo.setResizable(false);
            dialogo.setVisible(true);
            Random rand = new Random();

            return dialogo;
        }

private JFrame Juego() throws IOException{
      JFrame Juego = new JFrame();
      Juego.setLayout(null);      
      Juego.setTitle("Scrabble");
      Juego.setExtendedState(this.MAXIMIZED_BOTH);
      Juego.setResizable(false);
      Juego.setVisible(true);
      
      
      Juego.getContentPane().setLayout(null);

        JScrollPane scrollPane = new JScrollPane();
        scrollPane.setBounds(0, 0, 700, 650);
        //scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
        Juego.getContentPane().add(scrollPane);

        JPanel borderlaoutpanel = new JPanel();
        scrollPane.setViewportView(borderlaoutpanel);
       

        JPanel panel = new JPanel();
        borderlaoutpanel.add(panel, BorderLayout.NORTH);
        panel.setLayout(new GridLayout(dimen,dimen));
        panel.setBackground(Color.black);
     
        
        
     
        for(int i=0;i<dimen;i++) {
           
   
for (int j=0;j<dimen;j++){

JLabel imagen=new JLabel();               
                imagen.setBorder(BorderFactory.createLineBorder(Color.black));
                
                String axm=matriz.buscar(j, i);
                
                if(axm=="fondo") {imagen.setIcon(Ifondo);}
                else if(axm=="doble"){imagen.setIcon(Idoble);}
                else if(axm=="triple"){imagen.setIcon(Itriple);}
                
                
                panel.add(imagen);
                int p=imagen.getY();
                
                imagen.addMouseListener(
                   new MouseListener() {  // clase interna annima

            // terminar la aplicacin cuando el usuario haga clic en elementoSalir
     
    @Override
    public void mouseClicked(MouseEvent e) {

        
                
        
        
     if(imagen.getIcon()==Ifondo||imagen.getIcon()==Idoble||imagen.getIcon()==Itriple){
   
        
         if(imagen.getIcon()==Idoble){
             if(u1==true){val1=val1*2;}
             if(u2==true){val2=val2*2;}
             if(u3==true){val3=val3*2;}
             if(u4==true){val4=val4*2;}
             if(u5==true){val5=val5*2;}
             if(u6==true){val6=val6*2;}
             if(u7==true){val7=val7*2;}
         }
         
         if(imagen.getIcon()==Itriple){
         
             if(u1==true){val1=val1*3;}
             if(u2==true){val2=val2*3;}
             if(u3==true){val3=val3*3;}
             if(u4==true){val4=val4*3;}
             if(u5==true){val5=val5*3;}
             if(u6==true){val6=val6*3;}
             if(u7==true){val7=val7*3;}
               
         }
         
        int x;int y;
        x=imagen.getX();
        y=imagen.getY();
        if(x==0){
            x=0;
        posx=x;
        }else{
        x=x/52;
        posx=x;
        } 
        if(y==0){
            y=0;
            posy=y;
        }else{
        y=y/52;
        posy=y;
        }
 
        
    
        
        
         if(gletra.equals("A")){
             imagen.setIcon(Ia);
         }
         
         if(gletra.equals("B")){
             imagen.setIcon(Ib);
         }
             
         if(gletra.equals("C")){
             imagen.setIcon(Ic);
         }
         
         if(gletra.equals("D")){
             imagen.setIcon(Id);
         }
         
         if(gletra.equals("E")){
             imagen.setIcon(Ie);
         }
         
         if(gletra.equals("F")){
             imagen.setIcon(If);
         }
         
         if(gletra.equals("G")){
             imagen.setIcon(Ig);
         }
         
         if(gletra.equals("H")){
             imagen.setIcon(Ih);
         }
         
         if(gletra.equals("I")){
             imagen.setIcon(Ii);
         }
         
         if(gletra.equals("J")){
             imagen.setIcon(Ij);
         }
         
         if(gletra.equals("L")){
             imagen.setIcon(Il);
         }
         
         if(gletra.equals("M")){
             imagen.setIcon(Im);
         }
         
         if(gletra.equals("N")){
             imagen.setIcon(In);
         }
         
         if(gletra.equals("")){
             imagen.setIcon(I);
         }
         
         if(gletra.equals("O")){
             imagen.setIcon(Io);
         }
         
         if(gletra.equals("P")){
             imagen.setIcon(Ip);
         }
         
         if(gletra.equals("Q")){
             imagen.setIcon(Iq);
         }
         
         if(gletra.equals("R")){
             imagen.setIcon(Ir);
         }
         
         if(gletra.equals("S")){
             imagen.setIcon(Is);
         }
         
         if(gletra.equals("T")){
             imagen.setIcon(It);
         }
         
         if(gletra.equals("U")){
             imagen.setIcon(Iu);
         }
         
         if(gletra.equals("V")){
             imagen.setIcon(Iv);
         }
         
         if(gletra.equals("X")){
             imagen.setIcon(Ix);
         }
        
         if(gletra.equals("Y")){
             imagen.setIcon(Iy);
         }
         
         if(gletra.equals("Z")){
             imagen.setIcon(Iz);
         }
         
         
         
         if(gletra.equals("")){
         
         }else{
         
               System.out.println("x"+posx+"y"+posy+" "+u1);
        if(u1==true){
            fx1=fx1+posx;
            fy1=fy1+posy;
            f1=matriz.buscar(posx, posy);
            um1=true;
            u1=false;
        }
        
        if(u2==true){fx2=fx2+posx;fy2=fy2+posy;f2=matriz.buscar(fx2, fy2);um2=true;u2=false;}
        if(u3==true){fx3=fx3+posx;fy3=fy3+posy;f3=matriz.buscar(fx3, fy3);um3=true;u3=false;}
        if(u4==true){fx4=fx4+posx;fy4=fy4+posy;f4=matriz.buscar(fx4, fy4);um4=true;u4=false;}
        if(u5==true){fx5=fx5+posx;fy5=fy5+posy;f5=matriz.buscar(fx5, fy5);um5=true;u5=false;}
        if(u6==true){fx6=fx6+posx;fy6=fy6+posy;f6=matriz.buscar(fx6, fy6);um6=true;u6=false;}
        if(u7==true){fx7=fx7+posx;fy7=fy7+posy;f7=matriz.buscar(fx7, fy7);um7=true;u7=false;}
         
        
        
        
       
        matriz.modificar(posx, posy, gletra);
         
         gletra="";
         
         
                   try {
                       matriz.mostrarGraphviz();
                   } catch (IOException ex) {
                       Logger.getLogger(Interfaz.class.getName()).log(Level.SEVERE, null, ex);
                   }

                 
         }
        
    }
     
     
     
    
    }

    @Override
    public void mousePressed(MouseEvent e) {
 
        
    }

    @Override
    public void mouseReleased(MouseEvent e) {
   }

    @Override
    public void mouseEntered(MouseEvent e) {
    }

    @Override
    public void mouseExited(MouseEvent e) {
    }

       } 
      
      
      );
                
        
        }
      
      JPanel Panel6=Panel3();
      
        
      Juego.add(this.Panel2());

      Juego.add(this.Panel4());
      Juego.add(this.Panel5());
      
      Juego.add(Panel6);
      Juego.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    
 
  }  
  return Juego;
        
}

        private JPanel Panel2() {

            JPanel panel1 = new JPanel();
            JLabel label1 = new JLabel();

            segundos = new JLabel();

            animator.startAnimation();
            animator.minutos = 0;
            animator.segundos = 0;
            animator.enteroTiempo = 0;
            segundos = animator.labelTiempo;
            segundos.setVisible(true);
            lusuario = new JLabel();

            JLabel puntuacion = new JLabel();

            tiempo = segundos.getText();

            modelo.removeAllElements();
            for (int i = 1; i <= usuario.total; i++) {

                modelo.addElement(usuario.retornar(i) + "-" + usuario.retornarpuntos(i));
            }

            Random rand = new Random();
            if (grandom == 0) {
                grandom = rand.nextInt(usuario.total) + 1;
                System.out.println(grandom);

            }

            gfichas = usuario.retornarfichas(grandom);

            String auxgf = "";

            label1.setText("Turno de:");
            label1.setBounds(10, 10, 180, 40);
            label1.setFont(new Font("Serif", Font.PLAIN, 30));

            lusuario.setText(usuario.retornar(grandom));
            lusuario.setBounds(10, 50, 480, 40);
            lusuario.setFont(new Font("Serif", Font.BOLD, 30));

            segundos.setBounds(10, 100, 480, 40);
            segundos.setFont(new Font("Serif", Font.BOLD, 30));

            puntuacion.setText("Puntuacion:");
            puntuacion.setBounds(10, 180, 250, 40);
            puntuacion.setFont(new Font("Serif", Font.PLAIN, 30));

            lista.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
            lista.setModel(modelo);
            scroll1.setBounds(10, 250, 250, 150);
            lista.setFont(new Font("Serif", Font.PLAIN, 20));
            scroll1.setViewportView(lista);

            panel1.setLayout(null);
            panel1.add(segundos);
            panel1.add(label1);
            panel1.add(lusuario);
            panel1.add(puntuacion);
            panel1.add(scroll1);

            panel1.setBounds(700, 0, 300, 465);
            panel1.setBorder(BorderFactory.createLineBorder(Color.black));
            return panel1;
        }

        private JPanel Panel3() {
            JPanel panel1 = new JPanel();
            JPanel panel2 = new JPanel();
            JPanel panel3 = new JPanel();
            JPanel panel4 = new JPanel();
            JPanel panel5 = new JPanel();
            JPanel panel6 = new JPanel();

            JLabel label1 = new JLabel();
            JLabel label2 = new JLabel();
            JLabel label3 = new JLabel();
            JLabel label4 = new JLabel();
            JLabel label5 = new JLabel();

            JButton boton1 = new JButton("ver 1");
            JButton boton2 = new JButton("ver 2");
            JButton boton3 = new JButton("ver 3");
            JButton boton4 = new JButton("ver 4");
            JButton boton5 = new JButton("ver 5");

            JScrollPane scrollPane1 = new JScrollPane();
            JScrollPane scrollPane2 = new JScrollPane();
            JScrollPane scrollPane3 = new JScrollPane();
            JScrollPane scrollPane4 = new JScrollPane();
            JScrollPane scrollPane5 = new JScrollPane();

            JTabbedPane tab = new JTabbedPane();

            panel1.setBounds(1000, 0, 600, 865);

            tab.setBounds(0, 0, 600, 865);

            panel1.setBorder(BorderFactory.createLineBorder(Color.white));
            /*CargarImagen Imagen = new CargarImagen(panel1);
            
            panel1.add(Imagen);
            panel1.repaint();
            */

            panel1.setLayout(null);

            ImageIcon p1 = new ImageIcon(Idiccionario.getImage().getScaledInstance(300, 1000, Image.SCALE_DEFAULT));
            ImageIcon p2 = new ImageIcon(Ijfichas.getImage().getScaledInstance(425, 1000, Image.SCALE_DEFAULT));
            ImageIcon p3 = new ImageIcon(Ifichas.getImage().getScaledInstance(187, 6000, Image.SCALE_DEFAULT));
            ImageIcon p4 = new ImageIcon(Icircular.getImage().getScaledInstance(400, 1000, Image.SCALE_DEFAULT));
            ImageIcon p5 = new ImageIcon(Imatriz.getImage().getScaledInstance(1500, 1500, Image.SCALE_DEFAULT));

            boton1.setBounds(0, 0, 100, 50);
            boton2.setBounds(0, 0, 100, 50);
            boton3.setBounds(0, 0, 100, 50);
            boton4.setBounds(0, 0, 100, 50);
            boton5.setBounds(0, 0, 100, 50);

            label1.setBounds(105, 0, Idiccionario.getIconWidth(), Idiccionario.getIconHeight());

            label1.setIcon(p1);
            label2.setBounds(0, 0, Ijfichas.getIconWidth(), Ijfichas.getIconHeight());
            label2.setIcon(p2);
            label3.setBounds(0, 0, Ifichas.getIconWidth(), Ifichas.getIconHeight());
            label3.setIcon(p3);
            label4.setBounds(0, 0, Icircular.getIconWidth(), Icircular.getIconHeight());
            label4.setIcon(p4);
            label5.setBounds(0, 0, 1500, 1500);
            label5.setIcon(p5);

            panel2.setBounds(0, 0, 600, 865);
            panel3.setBounds(0, 0, 600, 865);
            panel4.setBounds(0, 0, 600, 865);
            panel5.setBounds(0, 0, 600, 865);
            panel6.setBounds(0, 0, 600, 865);

            panel2.add(boton1);
            panel3.add(boton2);

            panel4.add(boton3);

            panel5.add(boton4);

            panel6.add(boton5);

            panel2.add(label1);

            panel3.add(label2);
            panel4.add(label5);
            panel5.add(label3);
            panel6.add(label4);

            scrollPane1.setBounds(0, 0, 600, 600);
            scrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
            scrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
            scrollPane1.setViewportView(panel5);

            scrollPane2.setBounds(0, 0, 600, 600);
            scrollPane2.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
            scrollPane2.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

            scrollPane2.setViewportView(panel2);

            scrollPane3.setBounds(0, 0, 600, 600);
            scrollPane3.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
            scrollPane3.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
            scrollPane3.setViewportView(panel3);

            scrollPane4.setBounds(0, 0, 600, 600);
            scrollPane4.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
            scrollPane4.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
            scrollPane4.setViewportView(panel4);

            scrollPane5.setBounds(0, 0, 600, 600);
            scrollPane5.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
            scrollPane5.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

            scrollPane5.setViewportView(panel6);

            tab.addTab("ListaDiccionario", scrollPane2);
            tab.addTab("Lista de las Fichas Activas", scrollPane3);
            tab.addTab("Matriz tablero", scrollPane4);
            tab.addTab("Cola de Fichas", scrollPane1);
            tab.addTab("LIsta Jugadores", scrollPane5);

            boton2.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {

                    ImageIcon p1 = new ImageIcon(
                            Idiccionario.getImage().getScaledInstance(300, 1000, Image.SCALE_DEFAULT));
                    ImageIcon p2 = new ImageIcon(Ijfichas.getImage().getScaledInstance(450, 1000, Image.SCALE_DEFAULT));
                    ImageIcon p3 = new ImageIcon(Ifichas.getImage().getScaledInstance(187, 6000, Image.SCALE_DEFAULT));
                    ImageIcon p4 = new ImageIcon(
                            Icircular.getImage().getScaledInstance(400, 1000, Image.SCALE_DEFAULT));
                    ImageIcon p5 = new ImageIcon(Imatriz.getImage().getScaledInstance(1500, 1500, Image.SCALE_DEFAULT));

                    diccionario.mostrarGraph();
                    try {
                        usuario.mostrarGraph();
                        usuario.mostrarGraphFichas();
                        matriz.mostrarGraphviz();
                        cola.mostrarGraph();
                    } catch (IOException ex) {
                        Logger.getLogger(Interfaz.class.getName()).log(Level.SEVERE, null, ex);
                    }

                    label1.setBounds(105, 0, Idiccionario.getIconWidth(), Idiccionario.getIconHeight());
                    label1.setIcon(p1);

                    label2.setBounds(0, 0, Ijfichas.getIconWidth(), Ijfichas.getIconHeight());
                    label2.setIcon(p2);
                    label3.setBounds(0, 0, Ifichas.getIconWidth(), Ifichas.getIconHeight());
                    label3.setIcon(p3);
                    label4.setBounds(0, 0, Icircular.getIconWidth(), Icircular.getIconHeight());
                    label4.setIcon(p4);
                    label5.setBounds(0, 0, 1500, 1500);
                    label5.setIcon(p5);

                    panel2.add(label1);

                    panel3.add(label2);
                    panel4.add(label5);
                    panel5.add(label3);
                    panel6.add(label4);

                    scrollPane2.setViewportView(panel2);
                    scrollPane5.setViewportView(panel6);
                    scrollPane4.setViewportView(panel4);
                    scrollPane1.setViewportView(panel5);
                    scrollPane3.setViewportView(panel3);

                    tab.addTab("ListaDiccionario", scrollPane2);
                    tab.addTab("Lista de las Fichas Activas", scrollPane3);
                    tab.addTab("Matriz tablero", scrollPane4);
                    tab.addTab("Cola de Fichas", scrollPane1);
                    tab.addTab("LIsta Jugadores", scrollPane5);
                    panel1.add(tab);

                }
            });

            boton1.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {

                    ImageIcon p1 = new ImageIcon(
                            Idiccionario.getImage().getScaledInstance(300, 1000, Image.SCALE_DEFAULT));
                    ImageIcon p2 = new ImageIcon(Ijfichas.getImage().getScaledInstance(425, 1000, Image.SCALE_DEFAULT));
                    ImageIcon p3 = new ImageIcon(Ifichas.getImage().getScaledInstance(187, 6000, Image.SCALE_DEFAULT));
                    ImageIcon p4 = new ImageIcon(
                            Icircular.getImage().getScaledInstance(400, 1000, Image.SCALE_DEFAULT));
                    ImageIcon p5 = new ImageIcon(Imatriz.getImage().getScaledInstance(1500, 1500, Image.SCALE_DEFAULT));

                    diccionario.mostrarGraph();
                    try {
                        usuario.mostrarGraph();
                        usuario.mostrarGraphFichas();
                        matriz.mostrarGraphviz();
                        cola.mostrarGraph();
                    } catch (IOException ex) {
                        Logger.getLogger(Interfaz.class.getName()).log(Level.SEVERE, null, ex);
                    }

                    label1.setBounds(105, 0, Idiccionario.getIconWidth(), Idiccionario.getIconHeight());
                    label1.setIcon(p1);

                    panel2.add(label1);
                    label2.setBounds(0, 0, Ijfichas.getIconWidth(), Ijfichas.getIconHeight());
                    label2.setIcon(p2);
                    label3.setBounds(0, 0, Ifichas.getIconWidth(), Ifichas.getIconHeight());
                    label3.setIcon(p3);
                    label4.setBounds(0, 0, Icircular.getIconWidth(), Icircular.getIconHeight());
                    label4.setIcon(p4);
                    label5.setBounds(0, 0, 1500, 1500);
                    label5.setIcon(p5);

                    scrollPane2.setViewportView(panel2);
                    scrollPane5.setViewportView(panel6);
                    scrollPane4.setViewportView(panel4);
                    scrollPane1.setViewportView(panel5);
                    scrollPane3.setViewportView(panel3);

                    tab.addTab("ListaDiccionario", scrollPane2);
                    tab.addTab("Lista de las Fichas Activas", scrollPane3);
                    tab.addTab("Matriz tablero", scrollPane4);
                    tab.addTab("Cola de Fichas", scrollPane1);
                    tab.addTab("LIsta Jugadores", scrollPane5);
                    panel1.add(tab);

                }
            });

            boton3.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {

                    ImageIcon p1 = new ImageIcon(
                            Idiccionario.getImage().getScaledInstance(300, 1000, Image.SCALE_DEFAULT));
                    ImageIcon p2 = new ImageIcon(Ijfichas.getImage().getScaledInstance(450, 1000, Image.SCALE_DEFAULT));
                    ImageIcon p3 = new ImageIcon(Ifichas.getImage().getScaledInstance(187, 6000, Image.SCALE_DEFAULT));
                    ImageIcon p4 = new ImageIcon(
                            Icircular.getImage().getScaledInstance(400, 1000, Image.SCALE_DEFAULT));
                    ImageIcon p5 = new ImageIcon(Imatriz.getImage().getScaledInstance(1500, 1500, Image.SCALE_DEFAULT));

                    diccionario.mostrarGraph();
                    try {
                        usuario.mostrarGraph();
                        usuario.mostrarGraphFichas();
                        matriz.mostrarGraphviz();
                        cola.mostrarGraph();
                    } catch (IOException ex) {
                        Logger.getLogger(Interfaz.class.getName()).log(Level.SEVERE, null, ex);
                    }

                    label1.setBounds(105, 0, Idiccionario.getIconWidth(), Idiccionario.getIconHeight());
                    label1.setIcon(p1);

                    ;
                    label2.setBounds(0, 0, Ijfichas.getIconWidth(), Ijfichas.getIconHeight());
                    label2.setIcon(p2);
                    label3.setBounds(0, 0, Ifichas.getIconWidth(), Ifichas.getIconHeight());
                    label3.setIcon(p3);
                    label4.setBounds(0, 0, Icircular.getIconWidth(), Icircular.getIconHeight());
                    label4.setIcon(p4);
                    label5.setBounds(0, 0, 1500, 1500);
                    label5.setIcon(p5);
                    panel2.add(label1);

                    panel3.add(label2);
                    panel4.add(label5);
                    panel5.add(label3);
                    panel6.add(label4);
                    scrollPane2.setViewportView(panel2);
                    scrollPane5.setViewportView(panel6);
                    scrollPane4.setViewportView(panel4);
                    scrollPane1.setViewportView(panel5);
                    scrollPane3.setViewportView(panel3);

                    tab.addTab("ListaDiccionario", scrollPane2);
                    tab.addTab("Lista de las Fichas Activas", scrollPane3);
                    tab.addTab("Matriz tablero", scrollPane4);
                    tab.addTab("Cola de Fichas", scrollPane1);
                    tab.addTab("LIsta Jugadores", scrollPane5);
                    panel1.add(tab);

                }
            });

            boton4.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {

                    ImageIcon p1 = new ImageIcon(
                            Idiccionario.getImage().getScaledInstance(300, 1000, Image.SCALE_DEFAULT));
                    ImageIcon p2 = new ImageIcon(Ijfichas.getImage().getScaledInstance(450, 1000, Image.SCALE_DEFAULT));
                    ImageIcon p3 = new ImageIcon(Ifichas.getImage().getScaledInstance(187, 6000, Image.SCALE_DEFAULT));
                    ImageIcon p4 = new ImageIcon(
                            Icircular.getImage().getScaledInstance(400, 1000, Image.SCALE_DEFAULT));
                    ImageIcon p5 = new ImageIcon(Imatriz.getImage().getScaledInstance(1500, 1500, Image.SCALE_DEFAULT));

                    diccionario.mostrarGraph();
                    try {
                        usuario.mostrarGraph();
                        usuario.mostrarGraphFichas();
                        matriz.mostrarGraphviz();
                        cola.mostrarGraph();
                    } catch (IOException ex) {
                        Logger.getLogger(Interfaz.class.getName()).log(Level.SEVERE, null, ex);
                    }

                    label1.setBounds(105, 0, Idiccionario.getIconWidth(), Idiccionario.getIconHeight());
                    label1.setIcon(p1);

                    label2.setBounds(0, 0, Ijfichas.getIconWidth(), Ijfichas.getIconHeight());
                    label2.setIcon(p2);
                    label3.setBounds(0, 0, Ifichas.getIconWidth(), Ifichas.getIconHeight());
                    label3.setIcon(p3);
                    label4.setBounds(0, 0, Icircular.getIconWidth(), Icircular.getIconHeight());
                    label4.setIcon(p4);
                    label5.setBounds(0, 0, 1500, 1500);
                    label5.setIcon(p5);

                    panel2.add(label1);

                    panel3.add(label2);
                    panel4.add(label5);
                    panel5.add(label3);
                    panel6.add(label4);

                    scrollPane2.setViewportView(panel2);
                    scrollPane5.setViewportView(panel6);
                    scrollPane4.setViewportView(panel4);
                    scrollPane1.setViewportView(panel5);
                    scrollPane3.setViewportView(panel3);

                    tab.addTab("ListaDiccionario", scrollPane2);
                    tab.addTab("Lista de las Fichas Activas", scrollPane3);
                    tab.addTab("Matriz tablero", scrollPane4);
                    tab.addTab("Cola de Fichas", scrollPane1);
                    tab.addTab("LIsta Jugadores", scrollPane5);
                    panel1.add(tab);

                }
            });
            boton5.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {

                    ImageIcon p1 = new ImageIcon(
                            Idiccionario.getImage().getScaledInstance(350, 1000, Image.SCALE_DEFAULT));
                    ImageIcon p2 = new ImageIcon(Ijfichas.getImage().getScaledInstance(450, 1000, Image.SCALE_DEFAULT));
                    ImageIcon p3 = new ImageIcon(Ifichas.getImage().getScaledInstance(187, 6000, Image.SCALE_DEFAULT));
                    ImageIcon p4 = new ImageIcon(
                            Icircular.getImage().getScaledInstance(400, 1000, Image.SCALE_DEFAULT));
                    ImageIcon p5 = new ImageIcon(Imatriz.getImage().getScaledInstance(1500, 1500, Image.SCALE_DEFAULT));

                    diccionario.mostrarGraph();
                    try {
                        usuario.mostrarGraph();
                        usuario.mostrarGraphFichas();
                        matriz.mostrarGraphviz();
                        cola.mostrarGraph();
                    } catch (IOException ex) {
                        Logger.getLogger(Interfaz.class.getName()).log(Level.SEVERE, null, ex);
                    }

                    label1.setBounds(105, 0, Idiccionario.getIconWidth(), Idiccionario.getIconHeight());
                    label1.setIcon(p1);

                    label2.setBounds(0, 0, Ijfichas.getIconWidth(), Ijfichas.getIconHeight());
                    label2.setIcon(p2);
                    label3.setBounds(0, 0, Ifichas.getIconWidth(), Ifichas.getIconHeight());
                    label3.setIcon(p3);
                    label4.setBounds(0, 0, Icircular.getIconWidth(), Icircular.getIconHeight());
                    label4.setIcon(p4);
                    label5.setBounds(0, 0, 1500, 1500);
                    label5.setIcon(p5);
                    panel2.add(label1);

                    panel3.add(label2);
                    panel4.add(label5);
                    panel5.add(label3);
                    panel6.add(label4);
                    scrollPane2.setViewportView(panel2);
                    scrollPane5.setViewportView(panel6);
                    scrollPane4.setViewportView(panel4);
                    scrollPane1.setViewportView(panel5);
                    scrollPane3.setViewportView(panel3);

                    tab.addTab("ListaDiccionario", scrollPane2);
                    tab.addTab("Lista de las Fichas Activas", scrollPane3);
                    tab.addTab("Matriz tablero", scrollPane4);
                    tab.addTab("Cola de Fichas", scrollPane1);
                    tab.addTab("LIsta Jugadores", scrollPane5);
                    panel1.add(tab);

                }
            });

            panel1.add(tab);

            return panel1;
        }

        private JPanel Panel4() {

            JLabel letra1 = new JLabel();
            JLabel letra2 = new JLabel();
            JLabel letra3 = new JLabel();
            JLabel letra4 = new JLabel();
            JLabel letra5 = new JLabel();
            JLabel letra6 = new JLabel();
            JLabel letra7 = new JLabel();

            JLabel letras = new JLabel();

            JCheckBox check1 = new JCheckBox();
            JCheckBox check2 = new JCheckBox();
            JCheckBox check3 = new JCheckBox();
            JCheckBox check4 = new JCheckBox();
            JCheckBox check5 = new JCheckBox();
            JCheckBox check6 = new JCheckBox();
            JCheckBox check7 = new JCheckBox();

            JButton Tiro = new JButton();
            JButton Cancelar = new JButton();

            JLabel lcambiar = new JLabel();

            JButton bcambiar = new JButton();
            JButton Terminar = new JButton();

            Tiro.setText("Validar Tiro");
            Tiro.setBounds(300, 10, 250, 60);
            Tiro.setFont(new Font("Serif", Font.PLAIN, 30));

            bcambiar.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {

                    if (cola.vacio() == false) {

                        if (check1.isSelected() == true && cola.vacio() == false) {
                            ActualUsuario = usuario.retornar(grandom);
                            usuario.borrarfichas(ActualUsuario, l1);
                            String aux = cola.eliminar();
                            usuario.agregarfichas(ActualUsuario, aux);
                            usuario.mostrarfichas();

                            check1.setSelected(false);

                            gfichas = usuario.retornarfichas(grandom);
                            String auxgf = gfichas.substring(0, 1);

                            letra1.setText(auxgf);
                            check1.setText(auxgf);
                            auxgf = gfichas.substring(1, 2);
                            letra2.setText(auxgf);
                            check2.setText(auxgf);
                            auxgf = gfichas.substring(2, 3);
                            letra3.setText(auxgf);
                            check3.setText(auxgf);
                            auxgf = gfichas.substring(3, 4);
                            letra4.setText(auxgf);
                            check4.setText(auxgf);
                            auxgf = gfichas.substring(4, 5);
                            letra5.setText(auxgf);
                            check5.setText(auxgf);
                            auxgf = gfichas.substring(5, 6);
                            letra6.setText(auxgf);
                            check6.setText(auxgf);
                            auxgf = gfichas.substring(6, 7);
                            letra7.setText(auxgf);
                            check7.setText(auxgf);

                        }

                        if (check2.isSelected() == true && cola.vacio() == false) {
                            ActualUsuario = usuario.retornar(grandom);

                            usuario.borrarfichas(ActualUsuario, l2);
                            String aux = cola.eliminar();
                            usuario.agregarfichas(ActualUsuario, aux);
                            usuario.mostrarfichas();
                            check2.setSelected(false);

                            gfichas = usuario.retornarfichas(grandom);

                            String auxgf = gfichas.substring(0, 1);
                            letra1.setText(auxgf);
                            check1.setText(auxgf);
                            auxgf = gfichas.substring(1, 2);
                            letra2.setText(auxgf);
                            check2.setText(auxgf);
                            auxgf = gfichas.substring(2, 3);
                            letra3.setText(auxgf);
                            check3.setText(auxgf);
                            auxgf = gfichas.substring(3, 4);
                            letra4.setText(auxgf);
                            check4.setText(auxgf);
                            auxgf = gfichas.substring(4, 5);
                            letra5.setText(auxgf);
                            check5.setText(auxgf);
                            auxgf = gfichas.substring(5, 6);
                            letra6.setText(auxgf);
                            check6.setText(auxgf);
                            auxgf = gfichas.substring(6, 7);
                            letra7.setText(auxgf);
                            check7.setText(auxgf);
                        }

                        if (check3.isSelected() == true && cola.vacio() == false) {
                            ActualUsuario = usuario.retornar(grandom);

                            usuario.borrarfichas(ActualUsuario, l3);
                            String aux = cola.eliminar();
                            usuario.agregarfichas(ActualUsuario, aux);
                            usuario.mostrarfichas();
                            check3.setSelected(false);

                            gfichas = usuario.retornarfichas(grandom);

                            String auxgf = gfichas.substring(0, 1);
                            letra1.setText(auxgf);
                            check1.setText(auxgf);
                            auxgf = gfichas.substring(1, 2);
                            letra2.setText(auxgf);
                            check2.setText(auxgf);
                            auxgf = gfichas.substring(2, 3);
                            letra3.setText(auxgf);
                            check3.setText(auxgf);
                            auxgf = gfichas.substring(3, 4);
                            letra4.setText(auxgf);
                            check4.setText(auxgf);
                            auxgf = gfichas.substring(4, 5);
                            letra5.setText(auxgf);
                            check5.setText(auxgf);
                            auxgf = gfichas.substring(5, 6);
                            letra6.setText(auxgf);
                            check6.setText(auxgf);
                            auxgf = gfichas.substring(6, 7);
                            letra7.setText(auxgf);
                            check7.setText(auxgf);
                        }

                        if (check4.isSelected() == true && cola.vacio() == false) {
                            ActualUsuario = usuario.retornar(grandom);

                            usuario.borrarfichas(ActualUsuario, l4);
                            String aux = cola.eliminar();
                            usuario.agregarfichas(ActualUsuario, aux);
                            usuario.mostrarfichas();
                            check4.setSelected(false);

                            gfichas = usuario.retornarfichas(grandom);

                            String auxgf = gfichas.substring(0, 1);
                            letra1.setText(auxgf);
                            check1.setText(auxgf);
                            auxgf = gfichas.substring(1, 2);
                            letra2.setText(auxgf);
                            check2.setText(auxgf);
                            auxgf = gfichas.substring(2, 3);
                            letra3.setText(auxgf);
                            check3.setText(auxgf);
                            auxgf = gfichas.substring(3, 4);
                            letra4.setText(auxgf);
                            check4.setText(auxgf);
                            auxgf = gfichas.substring(4, 5);
                            letra5.setText(auxgf);
                            check5.setText(auxgf);
                            auxgf = gfichas.substring(5, 6);
                            letra6.setText(auxgf);
                            check6.setText(auxgf);
                            auxgf = gfichas.substring(6, 7);
                            letra7.setText(auxgf);
                            check7.setText(auxgf);
                        }

                        if (check5.isSelected() == true && cola.vacio() == false) {
                            ActualUsuario = usuario.retornar(grandom);

                            usuario.borrarfichas(ActualUsuario, l5);
                            String aux = cola.eliminar();
                            usuario.agregarfichas(ActualUsuario, aux);
                            usuario.mostrarfichas();
                            check5.setSelected(false);

                            gfichas = usuario.retornarfichas(grandom);

                            String auxgf = gfichas.substring(0, 1);
                            letra1.setText(auxgf);
                            check1.setText(auxgf);
                            auxgf = gfichas.substring(1, 2);
                            letra2.setText(auxgf);
                            check2.setText(auxgf);
                            auxgf = gfichas.substring(2, 3);
                            letra3.setText(auxgf);
                            check3.setText(auxgf);
                            auxgf = gfichas.substring(3, 4);
                            letra4.setText(auxgf);
                            check4.setText(auxgf);
                            auxgf = gfichas.substring(4, 5);
                            letra5.setText(auxgf);
                            check5.setText(auxgf);
                            auxgf = gfichas.substring(5, 6);
                            letra6.setText(auxgf);
                            check6.setText(auxgf);
                            auxgf = gfichas.substring(6, 7);
                            letra7.setText(auxgf);
                            check7.setText(auxgf);
                        }

                        if (check6.isSelected() == true && cola.vacio() == false) {
                            ActualUsuario = usuario.retornar(grandom);

                            usuario.borrarfichas(ActualUsuario, l6);
                            String aux = cola.eliminar();
                            usuario.agregarfichas(ActualUsuario, aux);
                            usuario.mostrarfichas();
                            check6.setSelected(false);

                            gfichas = usuario.retornarfichas(grandom);

                            String auxgf = gfichas.substring(0, 1);
                            letra1.setText(auxgf);
                            check1.setText(auxgf);
                            auxgf = gfichas.substring(1, 2);
                            letra2.setText(auxgf);
                            check2.setText(auxgf);
                            auxgf = gfichas.substring(2, 3);
                            letra3.setText(auxgf);
                            check3.setText(auxgf);
                            auxgf = gfichas.substring(3, 4);
                            letra4.setText(auxgf);
                            check4.setText(auxgf);
                            auxgf = gfichas.substring(4, 5);
                            letra5.setText(auxgf);
                            check5.setText(auxgf);
                            auxgf = gfichas.substring(5, 6);
                            letra6.setText(auxgf);
                            check6.setText(auxgf);
                            auxgf = gfichas.substring(6, 7);
                            letra7.setText(auxgf);
                            check7.setText(auxgf);
                        }

                        if (check7.isSelected() == true && cola.vacio() == false) {
                            ActualUsuario = usuario.retornar(grandom);

                            usuario.borrarfichas(ActualUsuario, l7);
                            String aux = cola.eliminar();
                            usuario.agregarfichas(ActualUsuario, aux);
                            usuario.mostrarfichas();
                            check7.setSelected(false);

                            gfichas = usuario.retornarfichas(grandom);

                            String auxgf = gfichas.substring(0, 1);
                            letra1.setText(auxgf);
                            check1.setText(auxgf);
                            auxgf = gfichas.substring(1, 2);
                            letra2.setText(auxgf);
                            check2.setText(auxgf);
                            auxgf = gfichas.substring(2, 3);
                            letra3.setText(auxgf);
                            check3.setText(auxgf);
                            auxgf = gfichas.substring(3, 4);
                            letra4.setText(auxgf);
                            check4.setText(auxgf);
                            auxgf = gfichas.substring(4, 5);
                            letra5.setText(auxgf);
                            check5.setText(auxgf);
                            auxgf = gfichas.substring(5, 6);
                            letra6.setText(auxgf);
                            check6.setText(auxgf);
                            auxgf = gfichas.substring(6, 7);
                            letra7.setText(auxgf);
                            check7.setText(auxgf);
                        }

                    } else {
                        JOptionPane.showMessageDialog(null, "Ya no hay fichas");
                        check1.setSelected(false);
                        check2.setSelected(false);
                        check3.setSelected(false);
                        check4.setSelected(false);
                        check5.setSelected(false);
                        check6.setSelected(false);
                        check7.setSelected(false);

                    }

                    try {
                        usuario.mostrarGraphFichas();
                    } catch (IOException ex) {
                        Logger.getLogger(Interfaz.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            });

            Tiro.addActionListener(new ActionListener() { // clase interna annima

                // terminar la aplicacin cuando el usuario haga clic en elementoSalir
                public void actionPerformed(ActionEvent evento) {

                    if (cola.vacio() == true) {

                        JOptionPane.showMessageDialog(null, "Juego Terminado Ganador" + usuario.ganador() + "con"
                                + usuario.MayorPunteo + " puntos");
                    } else {

                        //JOptionPane.showMessageDialog(null,tirovalido);
                        if (um1 == true) {

                            String s;
                            s = matriz.buscarpalabraH(fx1, fy1);

                            if (diccionario.buscar(s) == true) {
                                tirovalido = true;
                            }

                            s = matriz.buscarpalabraV(fx1, fy1);

                            if (diccionario.buscar(s) == true) {
                                tirovalido = true;
                            }

                        }

                        if (um2 == true) {

                            String s;
                            s = matriz.buscarpalabraH(fx2, fy2);

                            if (diccionario.buscar(s) == true) {
                                tirovalido = true;
                            }

                            s = matriz.buscarpalabraV(fx2, fy2);

                            if (diccionario.buscar(s) == true) {
                                tirovalido = true;
                            }

                        }

                        if (um3 == true) {

                            String s;
                            s = matriz.buscarpalabraH(fx3, fy3);

                            if (diccionario.buscar(s) == true) {
                                tirovalido = true;
                            }

                            s = matriz.buscarpalabraV(fx3, fy3);

                            if (diccionario.buscar(s) == true) {
                                tirovalido = true;
                            }

                        }

                        if (um4 == true) {

                            String s;
                            s = matriz.buscarpalabraH(fx4, fy4);

                            if (diccionario.buscar(s) == true) {
                                tirovalido = true;
                            }

                            s = matriz.buscarpalabraV(fx4, fy4);

                            if (diccionario.buscar(s) == true) {
                                tirovalido = true;
                            }

                        }

                        if (um5 == true) {

                            String s;
                            s = matriz.buscarpalabraH(fx5, fy5);

                            if (diccionario.buscar(s) == true) {
                                tirovalido = true;
                            }

                            s = matriz.buscarpalabraV(fx5, fy5);

                            if (diccionario.buscar(s) == true) {
                                tirovalido = true;

                            }
                        }

                        if (um6 == true) {

                            String s;
                            s = matriz.buscarpalabraH(fx6, fy6);

                            if (diccionario.buscar(s) == true) {
                                tirovalido = true;
                            }

                            s = matriz.buscarpalabraV(fx6, fy6);

                            if (diccionario.buscar(s) == true) {
                                tirovalido = true;
                            }

                        }

                        if (um7 == true) {

                            String s;
                            s = matriz.buscarpalabraH(fx7, fy7);

                            if (diccionario.buscar(s) == true) {
                                tirovalido = true;
                            }

                            s = matriz.buscarpalabraV(fx7, fy7);

                            if (diccionario.buscar(s) == true) {
                                tirovalido = true;
                            }

                        }

                        if (tirovalido == false) {

                            JOptionPane.showMessageDialog(null, "No se encontro ninguna palabra fichas perdidas");

                            if (um1 == true) {
                                usuario.borrarfichas(usuario.retornar(grandom), letra1.getText());
                                usuario.agregarfichas(usuario.retornar(grandom), cola.eliminar());
                            }
                            if (um2 == true) {
                                usuario.borrarfichas(usuario.retornar(grandom), letra2.getText());
                                usuario.agregarfichas(usuario.retornar(grandom), cola.eliminar());
                            }
                            if (um3 == true) {
                                usuario.borrarfichas(usuario.retornar(grandom), letra3.getText());
                                usuario.agregarfichas(usuario.retornar(grandom), cola.eliminar());
                            }
                            if (um4 == true) {
                                usuario.borrarfichas(usuario.retornar(grandom), letra4.getText());
                                usuario.agregarfichas(usuario.retornar(grandom), cola.eliminar());
                            }
                            if (um5 == true) {
                                usuario.borrarfichas(usuario.retornar(grandom), letra5.getText());
                                usuario.agregarfichas(usuario.retornar(grandom), cola.eliminar());
                            }
                            if (um6 == true) {
                                usuario.borrarfichas(usuario.retornar(grandom), letra6.getText());
                                usuario.agregarfichas(usuario.retornar(grandom), cola.eliminar());
                            }
                            if (um7 == true) {
                                usuario.borrarfichas(usuario.retornar(grandom), letra7.getText());
                                usuario.agregarfichas(usuario.retornar(grandom), cola.eliminar());
                            }

                            u1 = false;
                            u2 = false;
                            u3 = false;
                            u4 = false;
                            u5 = false;
                            u6 = false;
                            u7 = false;

                            um1 = false;
                            um2 = false;
                            um3 = false;
                            um4 = false;
                            um5 = false;
                            um6 = false;
                            um7 = false;

                            val1 = 0;
                            val2 = 0;
                            val3 = 0;
                            val4 = 0;
                            val5 = 0;
                            val6 = 0;
                            val7 = 0;
                            letra1.setBorder(null);
                            letra2.setBorder(null);
                            letra3.setBorder(null);
                            letra4.setBorder(null);
                            letra5.setBorder(null);
                            letra6.setBorder(null);
                            letra7.setBorder(null);
                            Puntos = 0;

                            f1 = "";
                            f2 = "";
                            f3 = "";
                            f4 = "";
                            f5 = "";
                            f6 = "";
                            f7 = "";

                            fx1 = 0;
                            fx2 = 0;
                            fx3 = 0;
                            fx4 = 0;
                            fx5 = 0;
                            fx6 = 0;
                            fx7 = 0;

                            fy1 = 0;
                            fy2 = 0;
                            fy3 = 0;
                            fy4 = 0;
                            fy5 = 0;
                            fy6 = 0;
                            fy7 = 0;

                            tirovalido = false;

                            if (grandom >= usuario.total) {
                                grandom = 1;

                            } else {
                                grandom = grandom + 1;

                            }

                            ActualUsuario = usuario.retornar(grandom);
                            String auxgf = "";
                            lusuario.setText(ActualUsuario);

                            gfichas = usuario.retornarfichas(grandom);

                            auxgf = gfichas.substring(0, 1);

                            letra1.setText(auxgf);
                            check1.setText(auxgf);
                            auxgf = gfichas.substring(1, 2);
                            letra2.setText(auxgf);
                            check2.setText(auxgf);
                            auxgf = gfichas.substring(2, 3);
                            letra3.setText(auxgf);
                            check3.setText(auxgf);
                            auxgf = gfichas.substring(3, 4);
                            letra4.setText(auxgf);
                            check4.setText(auxgf);
                            auxgf = gfichas.substring(4, 5);
                            letra5.setText(auxgf);
                            check5.setText(auxgf);
                            auxgf = gfichas.substring(5, 6);
                            letra6.setText(auxgf);
                            check6.setText(auxgf);
                            auxgf = gfichas.substring(6, 7);
                            letra7.setText(auxgf);
                            check7.setText(auxgf);

                            modelo.removeAllElements();

                            for (int i = 1; i <= usuario.total; i++) {

                                modelo.addElement(usuario.retornar(i) + "-" + usuario.retornarpuntos(i));
                            }

                            lista.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                            lista.setModel(modelo);
                            scroll1.setViewportView(lista);

                        }

                        else {

                            if (um1 == true) {
                                usuario.borrarfichas(usuario.retornar(grandom), letra1.getText());
                                usuario.agregarfichas(usuario.retornar(grandom), cola.eliminar());
                            }
                            if (um2 == true) {
                                usuario.borrarfichas(usuario.retornar(grandom), letra2.getText());
                                usuario.agregarfichas(usuario.retornar(grandom), cola.eliminar());
                            }
                            if (um3 == true) {
                                usuario.borrarfichas(usuario.retornar(grandom), letra3.getText());
                                usuario.agregarfichas(usuario.retornar(grandom), cola.eliminar());
                            }
                            if (um4 == true) {
                                usuario.borrarfichas(usuario.retornar(grandom), letra4.getText());
                                usuario.agregarfichas(usuario.retornar(grandom), cola.eliminar());
                            }
                            if (um5 == true) {
                                usuario.borrarfichas(usuario.retornar(grandom), letra5.getText());
                                usuario.agregarfichas(usuario.retornar(grandom), cola.eliminar());
                            }
                            if (um6 == true) {
                                usuario.borrarfichas(usuario.retornar(grandom), letra6.getText());
                                usuario.agregarfichas(usuario.retornar(grandom), cola.eliminar());
                            }
                            if (um7 == true) {
                                usuario.borrarfichas(usuario.retornar(grandom), letra7.getText());
                                usuario.agregarfichas(usuario.retornar(grandom), cola.eliminar());
                            }

                            Puntos = val1 + val2 + val3 + val4 + val5 + val6 + val7;
                            usuario.modificar(lusuario.getText(), (usuario.retornarpuntos(grandom)) + Puntos);

                            if (grandom >= usuario.total) {
                                grandom = 1;

                            } else {
                                grandom = grandom + 1;

                            }

                            String auxgf = "";
                            ActualUsuario = usuario.retornar(grandom);
                            gfichas = usuario.retornarfichas(grandom);

                            auxgf = gfichas.substring(0, 1);

                            letra1.setText(auxgf);
                            check1.setText(auxgf);
                            auxgf = gfichas.substring(1, 2);
                            letra2.setText(auxgf);
                            check2.setText(auxgf);
                            auxgf = gfichas.substring(2, 3);
                            letra3.setText(auxgf);
                            check3.setText(auxgf);
                            auxgf = gfichas.substring(3, 4);
                            letra4.setText(auxgf);
                            check4.setText(auxgf);
                            auxgf = gfichas.substring(4, 5);
                            letra5.setText(auxgf);
                            check5.setText(auxgf);
                            auxgf = gfichas.substring(5, 6);
                            letra6.setText(auxgf);
                            check6.setText(auxgf);
                            auxgf = gfichas.substring(6, 7);
                            letra7.setText(auxgf);
                            check7.setText(auxgf);
                            lusuario.setText(ActualUsuario);

                            modelo.removeAllElements();

                            for (int i = 1; i <= usuario.total; i++) {

                                modelo.addElement(usuario.retornar(i) + "-" + usuario.retornarpuntos(i));
                            }

                            lista.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                            lista.setModel(modelo);
                            scroll1.setViewportView(lista);

                            u1 = false;
                            u2 = false;
                            u3 = false;
                            u4 = false;
                            u5 = false;
                            u6 = false;
                            u7 = false;

                            um1 = false;
                            um2 = false;
                            um3 = false;
                            um4 = false;
                            um5 = false;
                            um6 = false;
                            um7 = false;

                            val1 = 0;
                            val2 = 0;
                            val3 = 0;
                            val4 = 0;
                            val5 = 0;
                            val6 = 0;
                            val7 = 0;
                            letra1.setBorder(null);
                            letra2.setBorder(null);
                            letra3.setBorder(null);
                            letra4.setBorder(null);
                            letra5.setBorder(null);
                            letra6.setBorder(null);
                            letra7.setBorder(null);
                            Puntos = 0;

                            f1 = "";
                            f2 = "";
                            f3 = "";
                            f4 = "";
                            f5 = "";
                            f6 = "";
                            f7 = "";

                            fx1 = 0;
                            fx2 = 0;
                            fx3 = 0;
                            fx4 = 0;
                            fx5 = 0;
                            fx6 = 0;
                            fx7 = 0;

                            fy1 = 0;
                            fy2 = 0;
                            fy3 = 0;
                            fy4 = 0;
                            fy5 = 0;
                            fy6 = 0;
                            fy7 = 0;

                            tirovalido = false;

                        }

                        try {
                            usuario.mostrarGraphFichas();
                        } catch (IOException ex) {
                            Logger.getLogger(Interfaz.class.getName()).log(Level.SEVERE, null, ex);
                        }

                    }
                }
            });

            Terminar.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {
                    cola.vaciar();
                    animator.stopAnimation();
                    JOptionPane.showMessageDialog(null, "Juego Terminado Ganador" + usuario.ganador() + "con "
                            + usuario.MayorPunteo + " a los " + tiempo);

                }
            });

            Cancelar.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {

                    u1 = false;
                    u2 = false;
                    u3 = false;
                    u4 = false;
                    u5 = false;
                    u6 = false;
                    u7 = false;

                    um1 = false;
                    um2 = false;
                    um3 = false;
                    um4 = false;
                    um5 = false;
                    um6 = false;
                    um7 = false;

                    val1 = 0;
                    val2 = 0;
                    val3 = 0;
                    val4 = 0;
                    val5 = 0;
                    val6 = 0;
                    val7 = 0;
                    letra1.setBorder(null);
                    letra2.setBorder(null);
                    letra3.setBorder(null);
                    letra4.setBorder(null);
                    letra5.setBorder(null);
                    letra6.setBorder(null);
                    letra7.setBorder(null);
                    Puntos = 0;

                    f1 = "";
                    f2 = "";
                    f3 = "";
                    f4 = "";
                    f5 = "";
                    f6 = "";
                    f7 = "";

                    fx1 = 0;
                    fx2 = 0;
                    fx3 = 0;
                    fx4 = 0;
                    fx5 = 0;
                    fx6 = 0;
                    fx7 = 0;

                    fy1 = 0;
                    fy2 = 0;
                    fy3 = 0;
                    fy4 = 0;
                    fy5 = 0;
                    fy6 = 0;
                    fy7 = 0;

                    tirovalido = false;

                    cola.vaciar();

                }

            });

            Terminar.setText("Terminar Juego");

            Terminar.setBounds(300, 142, 250, 50);
            Terminar.setFont(new Font("Serif", Font.PLAIN, 25));

            Cancelar.setText("Cancelar Tiro");
            Cancelar.setBounds(300, 80, 250, 60);
            Cancelar.setFont(new Font("Serif", Font.PLAIN, 30));

            letras.setText("Letras Activas");
            letras.setBounds(10, 50, 250, 60);
            letras.setFont(new Font("Serif", Font.BOLD, 30));

            String auxgf;

            auxgf = gfichas.substring(0, 1);
            letra1.setText(auxgf);
            letra1.setBounds(10, 10, 45, 45);
            letra1.setFont(new Font("Serif", Font.PLAIN, 40));
            letra1.setBorder(null);

            letra1.addMouseListener(new MouseListener() { // clase interna annima

                // terminar la aplicacin cuando el usuario haga clic en elementoSalir

                @Override
                public void mouseClicked(MouseEvent e) {
                }

                @Override
                public void mousePressed(MouseEvent e) {

                    if (um1 == true) {
                        gletra = "";
                    } else {

                        if (letra1.getBorder() == null) {
                            letra1.setBorder(BorderFactory.createLineBorder(Color.BLACK));
                            letra2.setBorder(null);
                            letra3.setBorder(null);
                            letra4.setBorder(null);
                            letra5.setBorder(null);
                            letra6.setBorder(null);
                            letra7.setBorder(null);

                            gletra = letra1.getText();
                            u1 = true;
                            check1.setSelected(false);

                            if (letra1.getText() == "A" || letra1.getText().equals("E") || letra1.getText().equals("O")
                                    || letra1.getText().equals("I") || letra1.getText().equals("S")
                                    || letra1.getText().equals("N") || letra1.getText().equals("L")
                                    || letra1.getText().equals("R") || letra1.getText().equals("U")
                                    || letra1.getText().equals("T")) {
                                quitar = 1;
                                val1 = val1 + 1;
                            }

                            if (letra1.getText().equals("D") || letra1.getText().equals("G")) {
                                quitar = 2;
                                val1 = val1 + 2;
                            }

                            if (letra1.getText().equals("C") || letra1.getText().equals("B")
                                    || letra1.getText().equals("M") || letra1.getText().equals("P")) {
                                quitar = 3;
                                val1 = val1 + 3;
                            }

                            if (letra1.getText().equals("H") || letra1.getText().equals("F")
                                    || letra1.getText().equals("V") || letra1.getText().equals("Y")) {
                                quitar = 4;
                                val1 = val1 + 4;
                            }

                            if (letra1.getText().equals("Q")) {
                                val1 = val1 + 5;
                                quitar = 5;
                            }

                            if (letra1.getText().equals("J") || letra1.getText().equals("")
                                    || letra1.getText().equals("X")) {
                                val1 = val1 + 8;
                                quitar = 8;
                            }

                            if (letra1.getText().equals("Z")) {
                                val1 = val1 + 10;
                                quitar = 10;
                            }

                        } else {
                            val1 = val1 - quitar;
                            quitar = 0;
                            letra1.setBorder(null);
                            letra2.setBorder(null);
                            letra3.setBorder(null);
                            letra4.setBorder(null);
                            letra5.setBorder(null);
                            letra6.setBorder(null);
                            letra7.setBorder(null);
                            gletra = "";
                            u1 = false;
                        }

                    }
                }

                public void mouseReleased(MouseEvent e) {

                }

                public void mouseEntered(MouseEvent e) {
                }

                public void mouseExited(MouseEvent e) {
                }

            }

            );

            auxgf = gfichas.substring(1, 2);
            letra2.setText(auxgf);
            letra2.setBounds(55, 10, 45, 45);
            letra2.setFont(new Font("Serif", Font.PLAIN, 40));

            letra2.addMouseListener(new MouseListener() { // clase interna annima

                // terminar la aplicacin cuando el usuario haga clic en elementoSalir

                @Override
                public void mouseClicked(MouseEvent e) {
                }

                @Override
                public void mousePressed(MouseEvent e) {

                    if (um2 == true) {
                        gletra = "";
                    } else {

                        if (letra2.getBorder() == null) {
                            letra2.setBorder(BorderFactory.createLineBorder(Color.BLACK));
                            letra1.setBorder(null);
                            letra3.setBorder(null);
                            letra4.setBorder(null);
                            letra5.setBorder(null);
                            letra6.setBorder(null);
                            letra7.setBorder(null);
                            u2 = true;
                            check2.setSelected(false);
                            gletra = letra2.getText();

                            if (letra2.getText() == "A" || letra2.getText().equals("E") || letra2.getText().equals("O")
                                    || letra2.getText().equals("I") || letra2.getText().equals("S")
                                    || letra2.getText().equals("N") || letra2.getText().equals("L")
                                    || letra2.getText().equals("R") || letra2.getText().equals("U")
                                    || letra2.getText().equals("T")) {
                                val2 = val2 + 1;
                                quitar = 1;
                            }

                            if (letra2.getText().equals("D") || letra2.getText().equals("G")) {
                                val2 = val2 + 2;
                                quitar = 2;
                            }

                            if (letra2.getText().equals("C") || letra2.getText().equals("B")
                                    || letra2.getText().equals("M") || letra2.getText().equals("P")) {
                                val2 = val2 + 3;
                                quitar = 3;
                            }

                            if (letra2.getText().equals("H") || letra2.getText().equals("F")
                                    || letra2.getText().equals("V") || letra2.getText().equals("Y")) {
                                val2 = val2 + 4;
                                quitar = 4;
                            }

                            if (letra2.getText().equals("Q")) {
                                val2 = val2 + 5;
                                quitar = 5;
                            }

                            if (letra2.getText().equals("J") || letra2.getText().equals("")
                                    || letra2.getText().equals("X")) {
                                val2 = val2 + 8;
                                quitar = 8;
                            }

                            if (letra2.getText().equals("Z")) {
                                val2 = val2 + 10;
                                quitar = 10;
                            }

                        } else {
                            val2 = val2 - quitar;
                            quitar = 0;
                            letra1.setBorder(null);
                            letra2.setBorder(null);
                            letra3.setBorder(null);
                            letra4.setBorder(null);
                            letra5.setBorder(null);
                            letra6.setBorder(null);
                            letra7.setBorder(null);
                            u2 = false;

                            gletra = "";
                        }

                    }
                }

                @Override
                public void mouseReleased(MouseEvent e) {
                }

                @Override
                public void mouseEntered(MouseEvent e) {
                }

                @Override
                public void mouseExited(MouseEvent e) {
                }

            }

            );

            auxgf = gfichas.substring(2, 3);
            letra3.setText(auxgf);
            letra3.setBounds(95, 10, 45, 45);
            letra3.setFont(new Font("Serif", Font.PLAIN, 40));

            letra3.addMouseListener(new MouseListener() { // clase interna annima

                // terminar la aplicacin cuando el usuario haga clic en elementoSalir

                @Override
                public void mouseClicked(MouseEvent e) {
                }

                @Override
                public void mousePressed(MouseEvent e) {

                    if (um3 == true) {

                        gletra = "";
                    } else {

                        if (letra3.getBorder() == null) {
                            letra3.setBorder(BorderFactory.createLineBorder(Color.BLACK));
                            letra1.setBorder(null);
                            letra2.setBorder(null);
                            letra4.setBorder(null);
                            letra5.setBorder(null);
                            letra6.setBorder(null);
                            letra7.setBorder(null);
                            u3 = true;
                            check3.setSelected(false);

                            gletra = letra3.getText();

                            if (letra3.getText() == "A" || letra3.getText().equals("E") || letra3.getText().equals("O")
                                    || letra3.getText().equals("I") || letra3.getText().equals("S")
                                    || letra3.getText().equals("N") || letra3.getText().equals("L")
                                    || letra3.getText().equals("R") || letra3.getText().equals("U")
                                    || letra3.getText().equals("T")) {
                                val3 = val3 + 1;
                                quitar = 1;
                            }

                            if (letra3.getText().equals("D") || letra3.getText().equals("G")) {
                                val3 = val3 + 2;
                                quitar = 2;
                            }

                            if (letra3.getText().equals("C") || letra3.getText().equals("B")
                                    || letra3.getText().equals("M") || letra3.getText().equals("P")) {
                                val3 = val3 + 3;
                                quitar = 3;
                            }

                            if (letra3.getText().equals("H") || letra3.getText().equals("F")
                                    || letra3.getText().equals("V") || letra3.getText().equals("Y")) {
                                val3 = val3 + 4;
                                quitar = 4;
                            }

                            if (letra3.getText().equals("Q")) {
                                val3 = val3 + 5;
                                quitar = 5;
                            }

                            if (letra3.getText().equals("J") || letra3.getText().equals("")
                                    || letra3.getText().equals("X")) {
                                val3 = val3 + 8;
                                quitar = 8;
                            }

                            if (letra3.getText().equals("Z")) {
                                val3 = val3 + 10;
                                quitar = 10;
                            }

                        } else {
                            u3 = false;
                            val3 = val3 - quitar;
                            quitar = 0;
                            letra1.setBorder(null);
                            letra2.setBorder(null);
                            letra3.setBorder(null);
                            letra4.setBorder(null);
                            letra5.setBorder(null);
                            letra6.setBorder(null);
                            letra7.setBorder(null);
                            gletra = "";
                        }
                    }
                }

                @Override
                public void mouseReleased(MouseEvent e) {
                }

                @Override
                public void mouseEntered(MouseEvent e) {
                }

                @Override
                public void mouseExited(MouseEvent e) {
                }

            }

            );

            auxgf = gfichas.substring(3, 4);
            letra4.setText(auxgf);
            letra4.setBounds(135, 10, 45, 45);
            letra4.setFont(new Font("Serif", Font.PLAIN, 40));

            letra4.addMouseListener(new MouseListener() { // clase interna annima

                // terminar la aplicacin cuando el usuario haga clic en elementoSalir

                @Override
                public void mouseClicked(MouseEvent e) {
                }

                @Override
                public void mousePressed(MouseEvent e) {

                    if (um4 == true) {

                        gletra = "";
                    } else {

                        if (letra4.getBorder() == null) {
                            letra4.setBorder(BorderFactory.createLineBorder(Color.BLACK));
                            letra1.setBorder(null);
                            letra3.setBorder(null);
                            letra2.setBorder(null);
                            letra5.setBorder(null);
                            letra6.setBorder(null);
                            letra7.setBorder(null);

                            gletra = letra4.getText();
                            u4 = true;
                            check4.setSelected(false);
                            if (letra4.getText() == "A" || letra4.getText().equals("E") || letra4.getText().equals("O")
                                    || letra4.getText().equals("I") || letra4.getText().equals("S")
                                    || letra4.getText().equals("N") || letra4.getText().equals("L")
                                    || letra4.getText().equals("R") || letra4.getText().equals("U")
                                    || letra4.getText().equals("T")) {
                                val4 = val4 + 1;
                                quitar = 1;
                            }

                            if (letra4.getText().equals("D") || letra4.getText().equals("G")) {
                                val4 = val4 + 2;
                                quitar = 2;
                            }

                            if (letra4.getText().equals("C") || letra4.getText().equals("B")
                                    || letra4.getText().equals("M") || letra4.getText().equals("P")) {
                                val4 = val4 + 3;
                                quitar = 3;
                            }

                            if (letra4.getText().equals("H") || letra4.getText().equals("F")
                                    || letra4.getText().equals("V") || letra4.getText().equals("Y")) {
                                val4 = val4 + 4;
                                quitar = 4;
                            }

                            if (letra4.getText().equals("Q")) {
                                val4 = val4 + 5;
                                quitar = 5;
                            }

                            if (letra4.getText().equals("J") || letra4.getText().equals("")
                                    || letra4.getText().equals("X")) {
                                val4 = val4 + 8;
                                quitar = 8;
                            }

                            if (letra4.getText().equals("Z")) {
                                val4 = val4 + 10;
                                quitar = 10;
                            }
                        } else {
                            val4 = val4 - quitar;
                            quitar = 0;
                            u4 = false;
                            letra1.setBorder(null);
                            letra2.setBorder(null);
                            letra3.setBorder(null);
                            letra4.setBorder(null);
                            letra5.setBorder(null);
                            letra6.setBorder(null);
                            letra7.setBorder(null);
                            gletra = "";
                        }
                    }
                }

                @Override
                public void mouseReleased(MouseEvent e) {
                }

                @Override
                public void mouseEntered(MouseEvent e) {
                }

                @Override
                public void mouseExited(MouseEvent e) {
                }

            }

            );

            auxgf = gfichas.substring(4, 5);
            letra5.setText(auxgf);
            letra5.setBounds(175, 10, 45, 45);
            letra5.setFont(new Font("Serif", Font.PLAIN, 40));

            letra5.addMouseListener(new MouseListener() { // clase interna annima

                // terminar la aplicacin cuando el usuario haga clic en elementoSalir

                @Override
                public void mouseClicked(MouseEvent e) {
                }

                @Override
                public void mousePressed(MouseEvent e) {

                    if (um5 == true) {

                        gletra = "";
                    } else {

                        if (letra5.getBorder() == null) {
                            letra5.setBorder(BorderFactory.createLineBorder(Color.BLACK));
                            letra1.setBorder(null);
                            letra3.setBorder(null);
                            letra4.setBorder(null);
                            letra2.setBorder(null);
                            letra6.setBorder(null);
                            letra7.setBorder(null);
                            u5 = true;
                            check5.setSelected(false);

                            gletra = letra5.getText();

                            if (letra5.getText() == "A" || letra5.getText().equals("E") || letra5.getText().equals("O")
                                    || letra5.getText().equals("I") || letra5.getText().equals("S")
                                    || letra5.getText().equals("N") || letra5.getText().equals("L")
                                    || letra5.getText().equals("R") || letra5.getText().equals("U")
                                    || letra5.getText().equals("T")) {
                                val5 = val5 + 1;
                                quitar = 1;
                            }

                            if (letra5.getText().equals("D") || letra5.getText().equals("G")) {
                                val5 = val5 + 2;
                                quitar = 2;
                            }

                            if (letra5.getText().equals("C") || letra5.getText().equals("B")
                                    || letra5.getText().equals("M") || letra5.getText().equals("P")) {
                                val5 = val5 + 3;
                                quitar = 3;
                            }

                            if (letra5.getText().equals("H") || letra5.getText().equals("F")
                                    || letra5.getText().equals("V") || letra5.getText().equals("Y")) {
                                val5 = val5 + 4;
                                quitar = 4;
                            }

                            if (letra5.getText().equals("Q")) {
                                val5 = val5 + 5;
                                quitar = 5;
                            }

                            if (letra5.getText().equals("J") || letra5.getText().equals("")
                                    || letra5.getText().equals("X")) {
                                val5 = val5 + 8;
                                quitar = 8;
                            }

                            if (letra5.getText().equals("Z")) {
                                val5 = val5 + 10;
                                quitar = 10;
                            }

                        } else {
                            val5 = val5 - quitar;
                            quitar = 0;
                            u5 = false;
                            letra1.setBorder(null);
                            letra2.setBorder(null);
                            letra3.setBorder(null);
                            letra4.setBorder(null);
                            letra5.setBorder(null);
                            letra6.setBorder(null);
                            letra7.setBorder(null);
                            gletra = "";
                        }
                    }
                }

                @Override
                public void mouseReleased(MouseEvent e) {
                }

                @Override
                public void mouseEntered(MouseEvent e) {
                }

                @Override
                public void mouseExited(MouseEvent e) {
                }

            }

            );

            auxgf = gfichas.substring(5, 6);
            letra6.setText(auxgf);
            letra6.setBounds(215, 10, 45, 45);
            letra6.setFont(new Font("Serif", Font.PLAIN, 40));

            letra6.addMouseListener(new MouseListener() { // clase interna annima

                // terminar la aplicacin cuando el usuario haga clic en elementoSalir

                @Override
                public void mouseClicked(MouseEvent e) {
                }

                @Override
                public void mousePressed(MouseEvent e) {

                    if (um6 == true) {

                        gletra = "";
                    } else {

                        if (letra6.getBorder() == null) {
                            letra6.setBorder(BorderFactory.createLineBorder(Color.BLACK));
                            letra1.setBorder(null);
                            letra3.setBorder(null);
                            letra4.setBorder(null);
                            letra5.setBorder(null);
                            letra2.setBorder(null);
                            letra7.setBorder(null);
                            u6 = true;
                            check6.setSelected(false);

                            gletra = letra6.getText();

                            if (letra6.getText() == "A" || letra6.getText().equals("E") || letra6.getText().equals("O")
                                    || letra6.getText().equals("I") || letra6.getText().equals("S")
                                    || letra6.getText().equals("N") || letra6.getText().equals("L")
                                    || letra6.getText().equals("R") || letra6.getText().equals("U")
                                    || letra6.getText().equals("T")) {
                                val6 = val6 + 1;
                                quitar = 1;
                            }

                            if (letra6.getText().equals("D") || letra6.getText().equals("G")) {
                                val6 = val6 + 2;
                                quitar = 2;
                            }

                            if (letra6.getText().equals("C") || letra6.getText().equals("B")
                                    || letra6.getText().equals("M") || letra6.getText().equals("P")) {
                                val6 = val6 + 3;
                                quitar = 3;
                            }

                            if (letra6.getText().equals("H") || letra6.getText().equals("F")
                                    || letra6.getText().equals("V") || letra6.getText().equals("Y")) {
                                val6 = val6 + 4;
                                quitar = 4;
                            }

                            if (letra6.getText().equals("Q")) {
                                val6 = val6 + 5;
                                quitar = 5;
                            }

                            if (letra6.getText().equals("J") || letra6.getText().equals("")
                                    || letra6.getText().equals("X")) {
                                val6 = val6 + 8;
                                quitar = 8;
                            }

                            if (letra6.getText().equals("Z")) {
                                val6 = val6 + 10;
                                quitar = 10;
                            }

                        } else {
                            u6 = false;
                            val6 = val6 - quitar;
                            quitar = 0;
                            letra1.setBorder(null);
                            letra2.setBorder(null);
                            letra3.setBorder(null);
                            letra4.setBorder(null);
                            letra5.setBorder(null);
                            letra6.setBorder(null);
                            letra7.setBorder(null);
                            gletra = "";
                        }
                    }
                }

                @Override
                public void mouseReleased(MouseEvent e) {
                }

                @Override
                public void mouseEntered(MouseEvent e) {
                }

                @Override
                public void mouseExited(MouseEvent e) {
                }

            }

            );
            auxgf = gfichas.substring(6, 7);
            letra7.setText(auxgf);
            letra7.setBounds(255, 10, 45, 45);
            letra7.setFont(new Font("Serif", Font.PLAIN, 40));

            letra7.addMouseListener(new MouseListener() { // clase interna annima

                // terminar la aplicacin cuando el usuario haga clic en elementoSalir

                @Override
                public void mouseClicked(MouseEvent e) {
                }

                @Override
                public void mousePressed(MouseEvent e) {

                    if (um7 == true) {

                        gletra = "";
                    } else {

                        if (letra7.getBorder() == null) {
                            letra7.setBorder(BorderFactory.createLineBorder(Color.BLACK));
                            letra1.setBorder(null);
                            letra3.setBorder(null);
                            letra4.setBorder(null);
                            letra5.setBorder(null);
                            letra6.setBorder(null);
                            letra2.setBorder(null);
                            u7 = true;
                            check7.setSelected(false);

                            gletra = letra7.getText();

                            if (letra7.getText() == "A" || letra7.getText().equals("E") || letra7.getText().equals("O")
                                    || letra7.getText().equals("I") || letra7.getText().equals("S")
                                    || letra7.getText().equals("N") || letra7.getText().equals("L")
                                    || letra7.getText().equals("R") || letra7.getText().equals("U")
                                    || letra7.getText().equals("T")) {
                                val7 = val7 + 1;
                                quitar = 1;
                            }

                            if (letra7.getText().equals("D") || letra7.getText().equals("G")) {
                                val7 = val7 + 2;
                                quitar = 2;
                            }

                            if (letra7.getText().equals("C") || letra7.getText().equals("B")
                                    || letra7.getText().equals("M") || letra7.getText().equals("P")) {
                                val7 = val7 + 3;
                                quitar = 3;
                            }

                            if (letra7.getText().equals("H") || letra7.getText().equals("F")
                                    || letra7.getText().equals("V") || letra7.getText().equals("Y")) {
                                val7 = val7 + 4;
                                quitar = 4;
                            }

                            if (letra7.getText().equals("Q")) {
                                val7 = val7 + 5;
                                quitar = 5;
                            }

                            if (letra7.getText().equals("J") || letra7.getText().equals("")
                                    || letra7.getText().equals("X")) {
                                val7 = val7 + 8;
                                quitar = 8;
                            }

                            if (letra7.getText().equals("Z")) {
                                val7 = val7 + 10;
                                quitar = 10;
                            }
                        } else {
                            u7 = false;
                            val7 = val7 - quitar;
                            quitar = 0;
                            letra1.setBorder(null);
                            letra2.setBorder(null);
                            letra3.setBorder(null);
                            letra4.setBorder(null);
                            letra5.setBorder(null);
                            letra6.setBorder(null);
                            letra7.setBorder(null);
                            gletra = "";
                        }
                    }
                }

                @Override
                public void mouseReleased(MouseEvent e) {
                }

                @Override
                public void mouseEntered(MouseEvent e) {
                }

                @Override
                public void mouseExited(MouseEvent e) {
                }

            }

            );

            check1.addItemListener(new ItemListener() {

                public void itemStateChanged(ItemEvent e) {
                    if (check1.isSelected() == true) {
                        letra1.setVisible(false);
                        l1 = check1.getText();
                    } else {
                        letra1.setVisible(true);
                    }

                }
            });

            check2.addItemListener(new ItemListener() {

                public void itemStateChanged(ItemEvent e) {
                    if (check2.isSelected() == true) {
                        letra2.setVisible(false);
                        l2 = check2.getText();
                    } else {
                        letra2.setVisible(true);
                    }

                }
            });

            check3.addItemListener(new ItemListener() {

                public void itemStateChanged(ItemEvent e) {
                    if (check3.isSelected() == true) {
                        letra3.setVisible(false);
                        l3 = check3.getText();
                    } else {
                        letra3.setVisible(true);
                    }

                }
            });

            check4.addItemListener(new ItemListener() {

                public void itemStateChanged(ItemEvent e) {
                    if (check4.isSelected() == true) {
                        letra4.setVisible(false);
                        l4 = check4.getText();
                    } else {
                        letra4.setVisible(true);
                    }

                }
            });

            check5.addItemListener(new ItemListener() {

                public void itemStateChanged(ItemEvent e) {
                    if (check5.isSelected() == true) {
                        letra5.setVisible(false);
                        l5 = check5.getText();
                    } else {
                        letra5.setVisible(true);
                    }

                }
            });

            check6.addItemListener(new ItemListener() {

                public void itemStateChanged(ItemEvent e) {
                    if (check6.isSelected() == true) {
                        letra6.setVisible(false);
                        l6 = check6.getText();
                    } else {
                        letra6.setVisible(true);
                    }

                }
            });

            check7.addItemListener(new ItemListener() {

                public void itemStateChanged(ItemEvent e) {
                    if (check7.isSelected() == true) {
                        letra7.setVisible(false);
                        l7 = check7.getText();
                    } else {
                        letra7.setVisible(true);
                    }

                }
            });

            auxgf = gfichas.substring(0, 1);

            check1.setText(auxgf);
            check1.setBounds(570, 50, 60, 30);
            check1.setFont(new Font("Serif", Font.PLAIN, 30));
            check1.setVisible(true);

            auxgf = gfichas.substring(1, 2);
            check2.setText(auxgf);
            check2.setBounds(630, 50, 60, 30);
            check2.setFont(new Font("Serif", Font.PLAIN, 30));

            auxgf = gfichas.substring(2, 3);
            check3.setText(auxgf);
            check3.setBounds(690, 50, 60, 30);
            check3.setFont(new Font("Serif", Font.PLAIN, 30));
            check3.setVisible(true);

            auxgf = gfichas.substring(3, 4);
            check4.setText(auxgf);
            check4.setBounds(750, 50, 60, 30);
            check4.setFont(new Font("Serif", Font.PLAIN, 30));

            auxgf = gfichas.substring(4, 5);
            check5.setText(auxgf);
            check5.setBounds(810, 50, 60, 30);
            check5.setFont(new Font("Serif", Font.PLAIN, 30));

            auxgf = gfichas.substring(5, 6);
            check6.setText(auxgf);
            check6.setBounds(870, 50, 60, 30);
            check6.setFont(new Font("Serif", Font.PLAIN, 30));

            auxgf = gfichas.substring(6, 7);
            check7.setText(auxgf);
            check7.setBounds(930, 50, 60, 30);
            check7.setFont(new Font("Serif", Font.PLAIN, 30));

            lcambiar.setText("Cambiar Letras :");
            lcambiar.setBounds(570, 10, 300, 30);
            lcambiar.setFont(new Font("Serif", Font.PLAIN, 30));

            bcambiar.setText("Cambiar");
            bcambiar.setBounds(600, 90, 200, 60);
            bcambiar.setFont(new Font("Serif", Font.PLAIN, 30));

            JPanel panel1 = new JPanel();
            panel1.add(bcambiar);
            panel1.add(lcambiar);
            panel1.setLayout(null);
            panel1.add(check1);
            panel1.add(check2);
            panel1.add(check3);
            panel1.add(check4);
            panel1.add(check5);
            panel1.add(check6);
            panel1.add(check7);
            panel1.add(Terminar);
            panel1.add(letra1);
            panel1.add(letra2);
            panel1.add(letra3);
            panel1.add(letra4);
            panel1.add(letra5);
            panel1.add(letra6);
            panel1.add(letra7);
            panel1.add(letras);
            panel1.add(Cancelar);
            panel1.add(Tiro);

            panel1.setBounds(0, 650, 1000, 215);
            panel1.setBorder(BorderFactory.createLineBorder(Color.black));
            return panel1;
        }

        private JPanel Panel5() {

            JPanel panel1 = new JPanel();
            JTextField NewPalabra = new JTextField();
            JButton agregar = new JButton();
            JLabel Nuevo = new JLabel();

            Nuevo.setText("Nueva Palabra:");
            Nuevo.setBounds(10, 10, 250, 40);
            Nuevo.setFont(new Font("Serif", Font.PLAIN, 30));

            NewPalabra.setText("");
            NewPalabra.setBounds(10, 70, 275, 30);
            NewPalabra.setFont(new Font("Serif", Font.PLAIN, 25));

            agregar.setText("Agregar");
            agregar.setBounds(10, 110, 120, 40);
            agregar.setFont(new Font("Serif", Font.PLAIN, 20));

            agregar.addActionListener(new ActionListener() { // clase interna annima

                // terminar la aplicacin cuando el usuario haga clic en elementoSalir
                public void actionPerformed(ActionEvent evento) {

                    if (NewPalabra.getText().length() == 0) {
                        JOptionPane.showMessageDialog(null, "Palabra Invalida");
                    } else if (diccionario.buscar(NewPalabra.getText()) == true) {
                        JOptionPane.showMessageDialog(null, "Esta palabra ya existe en el diccionario");

                    } else {
                        diccionario.agregar(NewPalabra.getText());
                        JOptionPane.showMessageDialog(null, "Palabra ingresada con exito!");

                    }

                    diccionario.mostrarGraph();

                }

            });

            panel1.setLayout(null);
            panel1.setBounds(700, 465, 300, 300);
            panel1.setBorder(BorderFactory.createLineBorder(Color.black));
            panel1.add(Nuevo);
            panel1.add(NewPalabra);
            panel1.add(agregar);
            return panel1;
        }

    }