Foros del Web » Programación para mayores de 30 ;) » Java »

Pasar de código estructurado a Orientado a Objetos

Estas en el tema de Pasar de código estructurado a Orientado a Objetos en el foro de Java en Foros del Web. La semana pasada tuvimos que hacer el juego del Ahorcado (hangman), pero el profesor me corrigió porque hice un diseño muy estructurado. Solo cree un ...
  #1 (permalink)  
Antiguo 20/10/2011, 18:06
 
Fecha de Ingreso: octubre-2011
Mensajes: 58
Antigüedad: 13 años, 1 mes
Puntos: 0
Pasar de código estructurado a Orientado a Objetos

La semana pasada tuvimos que hacer el juego del Ahorcado (hangman), pero el profesor me corrigió porque hice un diseño muy estructurado. Solo cree un una clase con un JFrame y ahí metí todos los métodos, eventos, gui, todo junto.

Ahora estoy modificando el código para que quede Orientado a Objetos, pero tengo problemas para comunicar los objetos entre sí, sobre todo los métodos y eventos con la interfaz gráfica.



Lo que hice fue dividir cada panel (palabra, letra, intentos y mensajes), para cada panel cree una clase, después cree una clase llamada Ventana en la que cree dos paneles, izquierdo y derecho, en el de la izquierda puse las instancias de las clases que ya mencioné y en el de la derecha la instancia de la clase del panel imagen. Y está todo bien.

Pero ahora no sé donde poner los métodos y los eventos. El profesor dijo algo como que había que crear un clase con los métodos aparte y después crear una instancia para comunicar los métodos con la interfaz, pero estoy teniendo problemas.
Por ejemplo:

Tengo este método para mostrar tantos guiones como letra tiene la palabra (gato = _ _ _ _ )
Código Java:
Ver original
  1. public void presentarRayas(){
  2.         for(int i=0; i<palabraElegida.length(); i++){
  3.             guionesBajosExternos +="_ ";
  4.         }
  5.         lbl_palabra.setText(guionesBajosExternos);
  6.         tamanoG = lbl_palabra.getFont();
  7.         lbl_palabra.setFont(new Font(tamanoG.getFontName(),tamanoG.getStyle(), 20));
  8.     }

Ese método usa la etiqueta lbl_palabra, que se encuentra en otra clase: la clase PanelPalabra, cuando declaré el JLabel le puse el método de acceso protected y después lo cambié a public, pero como quiera me sigue marcando error lbl_palabra can´t be resolved.

No sé que tengo que hacer, para ese método por ejemplo podría ponerlo en la clase PanelPalabra y ya no me daría error, pero hay métodos en los que tengo que usar dos JLabels distintos y no sé entonces como podría "acomodarlo", además no estoy seguro de que esa sea la mejor forma....
__________________
La libertad más difícil de conservar es la de equivocarse. - Morris Wes

Lo que faltaba en internet: http://binar10s.blogspot.com/
  #2 (permalink)  
Antiguo 21/10/2011, 01:55
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: Pasar de código estructurado a Orientado a Objetos

Tengo problemas para entender lo que quieres decir.

1º Se pueden meter todos los textos en una clase de mensajes no instanciable, de forma que para llamarlo sería: Mensajes.nombreMensaje (Clase.atributo de clase)
2º La GUI debe ir en otra clase separada, los paneles bien puedes meterlos en clases distintas cada uno con su constructor, pero también puedes hacer un constructor general si hay parámetros comunes, y jugar con esos parámetros para ubicar los paneles.
3º El thread o main lo que uses para hacer funcionar en la aplicación iria en otra clase separaqda.
4º Si quieres, la clase que obtiene las palabras la puedes poner aparte. Una clase muy bonita sería una capaz de leer de un txt las palabras indicadas separadas por comas, contar el numero de palabras incluidas, y sacar una aleatoriamente.
5º La clase que gestiona las imagenes del ahorcado podría ser otra diferente.

Realmente puedes tener tantas clases como quieras, pero no tienes q llegar al extremo de crear clases completamente idénticas. Que cada clase tenga su propia funcíonalidad.

De ti depende el límite, el profesor no creo que te exija muchas clases, solo que sepas separar el modelo (los datos) de las vistas (la GUI) del control (en tu caso tu main o thread). Si quieres añadir un par de ellas a mayores para nota adelante :D pero que sea justificado.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 21/10/2011, 03:08
 
Fecha de Ingreso: abril-2011
Mensajes: 6
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Pasar de código estructurado a Orientado a Objetos

Cuesta trabajo cambiar un programa de estructurado a orientado a objetos, pero lo que más cuesta es cambiar la "mente" del programador para que piense en objetos. Es un problema más bien filosófico, salvando las distancias.
Cuando haces un programa estructurado, los elementos del mismo son herramientas inertes a las que tú les dices en cada momento qué hacer. Sin embargo, en la orientación a objetos cada elemento del programa es un "actor" que sabe qué tiene que hacer y tiene lo datos necesarios para hacerlo. Es por eso por lo que te cuesta tanto acceder desde una clase a los datos de otra. La solución no es abrirle paso a la fuerza para que pueda acceder, más bien eso debe darte la pista de que te has equivocado colocando ese dato fuera de donde realmente se usa.
Sé que es un poco rollo pero es así.
En tu caso veo que hay tres "actores": el selector de la letra elegida por el usuario, el controlador que lleva la cuenta de intentos-aciertos-fallos y por último el que muestra la imagen del ahorcado. El flujo de información es unidireccional:

selector--->controlador--->imagen

Si te fijas, cada uno sólo necesita conocer sus propios datos y avisar al siguiente (llamada a un método) de que tiene que actualizarse. Por ejemplo, el controlador es el único que conoce la palabra buscada y únicamente tiene que pasarle a la imagen cuál es la cuenta de aciertos actual. La imagen no tiene que saber cómo el controlador ha calculado ese dato. En el caso del selector, sólo tiene que conocer la lista del alfabeto y pasarle al controlador qué letra es elegida en cada momento. No sabe absolutamente nada del juego.
En el problema que dices con el JLabel, evidentemente es que el JLabel debe pertenecer a la clase que va a usarlo, no a otra.
Por supuesto, como dice Fuzzylog, una parte importante del trabajo es separar la interfaz (el GUI) del programa propiamente dicho. Cada clase le dirá a "su" parte de la interfaz lo que hacer.
Saludos
www.forumtecnico.com

Última edición por forumtecnico; 21/10/2011 a las 03:11 Razón: respuesta de otro forero
  #4 (permalink)  
Antiguo 21/10/2011, 17:12
 
Fecha de Ingreso: octubre-2011
Mensajes: 58
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Pasar de código estructurado a Orientado a Objetos

Estoy todo enredado, esto es lo que tengo:

Código Java:
Ver original
  1. //Clase para el Menu
  2. package Ahorcaito;
  3.  
  4. import javax.swing.JMenu;
  5.  
  6. import javax.swing.JMenuBar;
  7.  
  8. import javax.swing.JMenuItem;
  9.  
  10.  
  11.  
  12.  
  13.  
  14. public class Menu extends JMenuBar{
  15.  
  16.     private JMenuBar mb = new JMenuBar();
  17.  
  18.     private JMenu menu = new JMenu();
  19.  
  20.     static JMenuItem reiniciar = new JMenuItem();
  21.  
  22.     static JMenuItem salir = new JMenuItem();
  23.  
  24.    
  25.  
  26.     public Menu(){
  27.  
  28.         mb = this;
  29.  
  30.         menu.setText("Menú");
  31.  
  32.         reiniciar.setText("Reiniciar");
  33.  
  34.         menu.add(reiniciar);
  35.  
  36.         menu.addSeparator();
  37.  
  38.         salir.setText("Salir");
  39.  
  40.         menu.add(salir);
  41.  
  42.         this.add(menu);
  43.  
  44.     }
  45.  
  46.  
  47.  
  48. }

Código Java:
Ver original
  1. //Clase para el panel que muestra los guiones bajos o rayitas
  2. package Ahorcaito;
  3.  
  4.  
  5.  
  6. import java.awt.Color;
  7.  
  8. import java.awt.FlowLayout;
  9.  
  10. import java.awt.Font;
  11.  
  12.  
  13.  
  14. import javax.swing.BorderFactory;
  15.  
  16. import javax.swing.JLabel;
  17.  
  18. import javax.swing.JPanel;
  19.  
  20. import javax.swing.border.TitledBorder;
  21.  
  22.  
  23.  
  24.  
  25.  
  26. public class PanelPalabras extends JPanel{
  27.  
  28.     private JPanel panelPalabras = null;
  29.  
  30.     private TitledBorder titulo;
  31.  
  32.     private String palabraElegida = "", guionesBajosExternos = "", string = "", solucion = "", letraEscogida = "", guionesBajos = "";
  33.  
  34.     private Font tamanoG;
  35.  
  36.     private boolean chequearif;
  37.  
  38.     private char[] letra;
  39.  
  40.     private char[] arrayGuiones;
  41.  
  42.    
  43.  
  44.     public PanelPalabras(){
  45.  
  46.         panelPalabras = this;
  47.  
  48.         this.setLayout(new FlowLayout());
  49.  
  50.         this.setSize(275,100);
  51.  
  52.         this.setBackground(Color.lightGray);
  53.  
  54.         titulo = BorderFactory.createTitledBorder("Palabras");
  55.  
  56.         this.setBorder(titulo);
  57.  
  58.     }
  59.  
  60. }

Código Java:
Ver original
  1. //se muestra las letras utilizadas
  2. package Ahorcaito;
  3.  
  4. import java.awt.Color;
  5.  
  6. import java.awt.FlowLayout;
  7.  
  8. import javax.swing.BorderFactory;
  9.  
  10. import javax.swing.JLabel;
  11.  
  12. import javax.swing.JPanel;
  13.  
  14. import javax.swing.border.TitledBorder;
  15.  
  16.  
  17.  
  18.  
  19.  
  20. public class PanelIntentos extends JPanel {
  21.  
  22.     private JPanel panelIntentos;
  23.  
  24.     private TitledBorder titulo;
  25.  
  26.     Textos texto = new Textos();
  27.  
  28.    
  29.  
  30.     public PanelIntentos(){
  31.  
  32.         panelIntentos = this;
  33.  
  34.         this.setLayout(new FlowLayout());
  35.  
  36.         this.setSize(275,100);
  37.  
  38.         this.setBackground(Color.lightGray);
  39.  
  40.         titulo = BorderFactory.createTitledBorder("Palabras");
  41.  
  42.         this.setBorder(titulo);
  43.  
  44.         this.add(texto.lbl_img);
  45.  
  46.        
  47.  
  48.     }
  49.  
  50. }

Código Java:
Ver original
  1. //Clase para el panel donde se escoge la letra
  2. package Ahorcaito;
  3.  
  4. import java.awt.Color;
  5.  
  6. import java.awt.FlowLayout;
  7.  
  8. import javax.swing.JButton;
  9.  
  10. import javax.swing.BorderFactory;
  11.  
  12. import javax.swing.JComboBox;
  13.  
  14. import javax.swing.JPanel;
  15.  
  16. import javax.swing.border.TitledBorder;
  17.  
  18.  
  19.  
  20.  
  21.  
  22. public class PanelLetras extends JPanel{
  23.  
  24.     private JPanel panelLetras;
  25.  
  26.     private TitledBorder titulo;
  27.  
  28.     static String[] abcdario = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
  29.  
  30.     static JComboBox jcb = new JComboBox(abcdario);
  31.  
  32.     static JButton boton = new JButton();
  33.  
  34.    
  35.  
  36.    
  37.  
  38.     public PanelLetras(){
  39.  
  40.         panelLetras = this;
  41.  
  42.         this.setLayout(new FlowLayout());
  43.  
  44.         this.setSize(275,100);
  45.  
  46.         this.setBackground(Color.lightGray);
  47.  
  48.         titulo = BorderFactory.createTitledBorder("Letras");
  49.  
  50.         this.setBorder(titulo);
  51.  
  52.         boton.setText("Aceptar");
  53.  
  54.         this.add(jcb);
  55.  
  56.         this.add(boton);
  57.  
  58.     }
  59.  
  60.  
  61.  
  62. }

Código Java:
Ver original
  1. //muestra los intentos que faltan para perder, si gano o perdio
  2. package Ahorcaito;
  3.  
  4. import java.awt.Color;
  5.  
  6. import java.awt.FlowLayout;
  7.  
  8.  
  9.  
  10. import javax.swing.BorderFactory;
  11.  
  12. import javax.swing.JLabel;
  13.  
  14. import javax.swing.JPanel;
  15.  
  16. import javax.swing.border.TitledBorder;
  17.  
  18.  
  19.  
  20.  
  21.  
  22. public class PanelMensajes extends JPanel{
  23.  
  24.     private JPanel panelMensajes = new JPanel();
  25.  
  26.     private TitledBorder titulo;
  27.  
  28.     private JLabel lbl_msj = new JLabel("Le quedan 6 intentos");
  29.  
  30.    
  31.  
  32.     public PanelMensajes(){
  33.  
  34.         panelMensajes = this;
  35.  
  36.         this.setLayout(new FlowLayout());
  37.  
  38.         this.setSize(175,100);
  39.  
  40.         this.setBackground(Color.lightGray);
  41.  
  42.         titulo = BorderFactory.createTitledBorder("Mensajes");
  43.  
  44.         this.setBorder(titulo);
  45.  
  46.         this.add(lbl_msj);
  47.  
  48.     }
  49.  
  50. }

Código Java:
Ver original
  1. //cambia las imagenes
  2. package Ahorcaito;
  3.  
  4. import java.awt.Color;
  5.  
  6. import java.awt.FlowLayout;
  7.  
  8.  
  9.  
  10. import javax.swing.Icon;
  11.  
  12. import javax.swing.ImageIcon;
  13.  
  14. import javax.swing.JLabel;
  15.  
  16. import javax.swing.JPanel;
  17.  
  18.  
  19.  
  20.  
  21.  
  22. public class PanelImg extends JPanel{
  23.  
  24.     private JPanel panelImg;
  25.  
  26.     Icon[] imagen = {new ImageIcon(getClass().getResource("1.gif")), new ImageIcon(getClass().getResource("2.gif")),
  27.  
  28.                             new ImageIcon(getClass().getResource("3.gif")), new ImageIcon(getClass().getResource("4.gif")),
  29.  
  30.                             new ImageIcon(getClass().getResource("5.gif")), new ImageIcon(getClass().getResource("6.gif")),
  31.  
  32.                             new ImageIcon(getClass().getResource("7.gif"))};
  33.  
  34.    
  35.  
  36.     public PanelImg(){
  37.  
  38.         panelImg = this;
  39.  
  40.         this.setLayout(new FlowLayout());
  41.  
  42.         this.setSize(175,100);
  43.  
  44.         this.setBackground(Color.lightGray);
  45.  
  46.        
  47.  
  48.     }
  49.  
  50. }

Código Java:
Ver original
  1. //junto todas las clases que tienen paneles en una ventana
  2. package Ahorcaito;
  3.  
  4. import java.awt.GridLayout;
  5.  
  6.  
  7.  
  8. import javax.swing.ImageIcon;
  9.  
  10. import javax.swing.JFrame;
  11.  
  12. import javax.swing.JPanel;
  13.  
  14.  
  15.  
  16.  
  17.  
  18. public class Ventana extends JFrame{
  19.  
  20.     private JPanel panelIzq = new JPanel();
  21.  
  22.     private JPanel panelDer = new JPanel();
  23.  
  24.    
  25.  
  26.     public Ventana(){
  27.  
  28.         Menu menu = new Menu();
  29.  
  30.         PanelPalabras panelPalabras = new PanelPalabras();
  31.  
  32.         PanelIntentos panelIntentos = new PanelIntentos();
  33.  
  34.         PanelLetras panelLetras = new PanelLetras();
  35.  
  36.         PanelMensajes panelMensajes = new PanelMensajes();
  37.  
  38.         PanelImg panelImg = new PanelImg();
  39.  
  40.         Funciones funciones = new Funciones();
  41.  
  42.         Textos texto = new Textos();
  43.  
  44.        
  45.  
  46.        
  47.  
  48.         texto.lbl_img.setIcon(imagen[0]);
  49.  
  50.         PanelImg.add(texto.lbl_img);
  51.  
  52.        
  53.  
  54.         this.setTitle("Ahorcaito");
  55.  
  56.         this.setSize(570,470);
  57.  
  58.         this.setLayout(new GridLayout(1,2));
  59.  
  60.         this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  61.  
  62.         this.setIconImage(new ImageIcon("icono.gif").getImage());
  63.  
  64.         this.setJMenuBar(menu);
  65.  
  66.        
  67.  
  68.         panelIzq.setSize(280,4210);
  69.  
  70.         panelIzq.setLayout(new GridLayout(4,1));
  71.  
  72.         panelDer.setSize(280,410);
  73.  
  74.         panelDer.setLayout(new GridLayout(1,1));
  75.  
  76.        
  77.  
  78.         panelIzq.add(panelPalabras);
  79.  
  80.         panelIzq.add(panelIntentos);
  81.  
  82.         panelIzq.add(panelLetras);
  83.  
  84.         panelIzq.add(panelMensajes);
  85.  
  86.        
  87.  
  88.         panelDer.add(panelImg);
  89.  
  90.        
  91.  
  92.         this.add(panelIzq);
  93.  
  94.         this.add(panelDer);
  95.  
  96.     }
  97.  
  98.  
  99.  
  100. }
__________________
La libertad más difícil de conservar es la de equivocarse. - Morris Wes

Lo que faltaba en internet: http://binar10s.blogspot.com/
  #5 (permalink)  
Antiguo 21/10/2011, 17:13
 
Fecha de Ingreso: octubre-2011
Mensajes: 58
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Pasar de código estructurado a Orientado a Objetos

Código Java:
Ver original
  1. //Todas los metodos
  2. package Ahorcaito;
  3.  
  4.  
  5.  
  6. import java.awt.Font;
  7.  
  8. import java.awt.event.ActionEvent;
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16. public class Funciones {
  17.  
  18.     private Font tamano, tamanoG;
  19.  
  20.     private double posicionDEpalabra;
  21.  
  22.     private char[] arrayGuiones;
  23.  
  24.     private char[] letra;
  25.  
  26.     private String[] agregar = new String[10];
  27.  
  28.     private boolean chequearif;
  29.  
  30.     private int fallos=0, k=0;
  31.  
  32.     private String palabraElegida = "", letraEscogida = "", auxLetra = "", guionesBajos = "", guionesBajosExternos = "", string = "", solucion = "";
  33.  
  34.     private String[] lista_de_palabras = {"perro","vaca","chivo","oveja","canguro","gallina", "pato", "conejo", "aguila","avestrus",
  35.  
  36.               "caracol","abeja","babosa","caballo","delfin","elefante","halcon","jabali","koala","lagarto","mosca"};
  37.  
  38.     Textos texto = new Textos();
  39.  
  40.     PanelImg pimg = new PanelImg();
  41.  
  42.    
  43.  
  44.             public void elegirPalabra(){
  45.  
  46.                 posicionDEpalabra = Math.random()*21;
  47.  
  48.                 palabraElegida = lista_de_palabras[(int)posicionDEpalabra];
  49.  
  50.             }
  51.  
  52.  
  53.  
  54.             public void presentarRayas(){
  55.  
  56.                 for(int i=0; i<palabraElegida.length(); i++){
  57.  
  58.                     guionesBajosExternos +="_ ";
  59.  
  60.                 }
  61.  
  62.                 texto.lbl_palabra.setText(guionesBajosExternos);
  63.  
  64.                 tamanoG = texto.lbl_palabra.getFont();
  65.  
  66.                 texto.lbl_palabra.setFont(new Font(tamanoG.getFontName(),tamanoG.getStyle(), 20));
  67.  
  68.             }
  69.             public void NumRayasInterno(){
  70.  
  71.                 for(int i=0; i<palabraElegida.length(); i++){
  72.  
  73.                     guionesBajos += "_";
  74.  
  75.                 }
  76.  
  77.                 arrayGuiones = guionesBajos.toCharArray();
  78.  
  79.             }
  80.  
  81.             public void actionPerformed(ActionEvent e) {
  82.  
  83.                 if(e.getSource() == Menu.salir)
  84.  
  85.                     System.exit(0);
  86.  
  87.                 if(e.getSource() == PanelLetras.boton){
  88.  
  89.                     letraEscogida = (((String) PanelLetras.jcb.getSelectedItem()).toLowerCase());
  90.  
  91.                     agregar[k] = letraEscogida.toUpperCase();
  92.  
  93.                     k++;
  94.  
  95.                     PanelLetras.jcb.removeItem(PanelLetras.jcb.getSelectedItem());
  96.  
  97.                     auxLetra += letraEscogida;
  98.  
  99.                     auxLetra = auxLetra.toUpperCase();
  100.  
  101.                     texto.lbl_letras.setText(auxLetra+=",  ");
  102.  
  103.                     buscarLetra();
  104.  
  105.                 }
  106.  
  107.                 if(e.getSource() == Menu.reiniciar)
  108.  
  109.                     reiniciar();
  110.  
  111.             }
  112.             public void buscarLetra(){
  113.  
  114.                 chequearif = false;
  115.  
  116.                 string = "";
  117.  
  118.                 solucion = "";
  119.  
  120.                 letra = letraEscogida.toCharArray();
  121.  
  122.                 int index = 0;
  123.  
  124.                 for(int i=0;i<(palabraElegida.length());i++){
  125.  
  126.                     if(palabraElegida.substring(i, i+1).equals(letraEscogida) == true){
  127.  
  128.                         if(chequearif == true){
  129.  
  130.                             string = "";
  131.  
  132.                             solucion = "";
  133.  
  134.                             index = palabraElegida.indexOf(letraEscogida, index+1);
  135.  
  136.                             arrayGuiones[index] = letra[0];
  137.  
  138.                             for(int j=0;j<arrayGuiones.length;j++){
  139.  
  140.                                 string += arrayGuiones[j]+" ";
  141.  
  142.                                 solucion += arrayGuiones[j];
  143.  
  144.                             }
  145.  
  146.  
  147.  
  148.                             texto.lbl_palabra.setText(string);
  149.  
  150.                         }
  151.  
  152.                         if(chequearif == false){
  153.  
  154.                             index = palabraElegida.indexOf(letraEscogida);
  155.  
  156.                             arrayGuiones[index] = letra[0];
  157.  
  158.                             for(int j=0;j<arrayGuiones.length;j++){
  159.  
  160.                                 string += arrayGuiones[j]+" ";
  161.  
  162.                                 solucion += arrayGuiones[j];
  163.  
  164.                             }
  165.  
  166.                             texto.lbl_palabra.setText(string);
  167.  
  168.                             chequearif = true;
  169.  
  170.                         }
  171.  
  172.                     }
  173.  
  174.                 }
  175.  
  176.                
  177.  
  178.                 ganarPerder();
  179.  
  180.             }
  181.             public void ganarPerder(){
  182.                 if(solucion.equals(palabraElegida) == true){
  183.  
  184.                     texto.lbl_msj.setText("¡HA GANADO! ¡FELICIDADES!");
  185.  
  186.                     tamano = texto.lbl_msj.getFont();
  187.  
  188.                     texto.lbl_msj.setFont(new Font(tamano.getFontName(),tamano.getStyle(),18));
  189.  
  190.                     PanelLetras.jcb.setEnabled(false);
  191.  
  192.                     PanelLetras.boton.setEnabled(false);
  193.  
  194.                 }
  195.                 if(chequearif == false){
  196.  
  197.                     fallos=fallos+1;
  198.  
  199.                     texto.lbl_img.setIcon(pimg.imagen[fallos]);
  200.  
  201.                     texto.lbl_msj.setText("Le quedan " +(6-fallos)+ " intentos");
  202.  
  203.                     if(fallos == 6){
  204.  
  205.                         texto.lbl_msj.setText("¡HA PERDIDO!\n La palabra era: " +palabraElegida);
  206.  
  207.                         tamano = texto.lbl_msj.getFont();
  208.  
  209.                         texto.lbl_msj.setFont(new Font(tamano.getFontName(),tamano.getStyle(),13));
  210.  
  211.                         PanelLetras.jcb.setEnabled(false);
  212.  
  213.                         PanelLetras.boton.setEnabled(false);
  214.  
  215.                     }
  216.  
  217.                 }
  218.  
  219.             }
  220.             public void reiniciar(){
  221.  
  222.                 PanelLetras.jcb.setEnabled(true);
  223.  
  224.                 PanelLetras.boton.setEnabled(true);
  225.  
  226.                 fallos = 0;
  227.  
  228.                 texto.lbl_img.setIcon(pimg.imagen[0]);
  229.  
  230.                 texto.lbl_msj.setText("Le quedan 6 intentos");
  231.  
  232.                 texto.lbl_palabra.setText("");
  233.  
  234.                 texto.lbl_letras.setText("");
  235.  
  236.                 auxLetra = "";
  237.  
  238.                 solucion= "";
  239.  
  240.                 string = "";
  241.  
  242.                 chequearif = false;
  243.                 guionesBajos = "";
  244.                 guionesBajosExternos = "";
  245.                 elegirPalabra();
  246.                 presentarRayas();
  247.                 NumRayasInterno();
  248.                 for(int i=0;i<k;i++){
  249.                     PanelLetras.jcb.addItem(agregar[i]);
  250.                 }
  251.                 k=0;
  252.             }        
  253. }
__________________
La libertad más difícil de conservar es la de equivocarse. - Morris Wes

Lo que faltaba en internet: http://binar10s.blogspot.com/

Etiquetas: objetos, orientado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:03.