Pasando un diseño estructurado a orientado a objetos

Iniciado por Aikanáro Anário, 15 Octubre 2011, 18:55 PM

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

Aikanáro Anário

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.

La interfaz es esta:


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) [Seleccionar]
public void presentarRayas(){
for(int i=0; i<palabraElegida.length(); i++){
guionesBajosExternos +="_ ";
}
lbl_palabra.setText(guionesBajosExternos);
tamanoG = lbl_palabra.getFont();
lbl_palabra.setFont(new Font(tamanoG.getFontName(),tamanoG.getStyle(), 20));
}


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....
Lo que faltaba en internet: http://binar10s.blogspot.com/