Miren el codigo es bastante largo, espero ayuda porfavor! El problema es el siguiente:
-Hice una instancia de una Lamina en la clase JFrame. Nesecito esa misma instancia en otra clase, para utilizar un método que me deje modificar el texto del JLabel de la clase de la Lamina. Se entiende?
Miren el codigo es bastante largo, espero ayuda porfavor! El problema es el siguiente:
-Hice una instancia de una Lamina en la clase JFrame. Nesecito esa misma instancia en otra clase, para utilizar un método que me deje modificar el texto del JLabel de la clase de la Lamina. Se entiende?
package Juegos_mios;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class BuscaMinas {
public static void main(String[] args) {
Ventanap a = new Ventanap();
a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class Ventanap extends JFrame{
LaminaPrincipal LaminaP = new LaminaPrincipal();
public Ventanap(){
setVisible(true);
setBounds(0,0,600,600);
add(LaminaP);
add(new Lamina43(), BorderLayout.CENTER);
}
}
class LaminaPrincipal extends JPanel{
JLabel Contador = new JLabel("Vidas: 3");
public LaminaPrincipal(){
setLayout(new FlowLayout(FlowLayout.LEFT));
add(Contador);
}
public void setVidas(int x){
Contador.setText("Vidas: " + x);
}
}
class Lamina43 extends JPanel{
public Lamina43(){
setLayout(new GridLayout(6,6));
setBoton();
}
public int getSino(int j){
int sino[] = new int[40];
int contador = 0;
boolean continuar = false;
do{
for(int i = 0; i<sino.length;i++){
int numeroazar = (int)(Math.random()*10);
if(numeroazar<=5){
sino[i] = 1;
contador++;
}
else{
sino[i] = 0;
}
}
if(contador >= (36/2)-5){
continuar = true;
}
}while(continuar == false);
return sino[j];
}
public void setBoton(){
int contador = 1;
int sino;
for(int i=0;i<36;i++){
sino = getSino(i);
Accion accion = new Accion(contador,sino);
JButton Boton = new JButton(accion);
add(Boton);
contador++;
}
}
}
class Accion extends AbstractAction{
ImageIcon IconoOriginal = new ImageIcon("src/Juegos_mios/BuscaMinas.gif");
ImageIcon IconoV = new ImageIcon(IconoOriginal.getImage().getScaledInstance(40, 40 ,java.awt.Image.SCALE_DEFAULT));
ImageIcon IconoOriginal2 = new ImageIcon("src/Juegos_mios/CaritaFeliz.jpg");
ImageIcon IconoV2 = new ImageIcon(IconoOriginal2.getImage().getScaledInstance(40, 40 ,java.awt.Image.SCALE_DEFAULT));
public Accion(int nombre, int sino){
putValue("numero", nombre);
putValue("mina", sino);
}
public void actionPerformed(ActionEvent e) {
Object boton = e.getSource();
int mina = (int)getValue("mina");
if(mina == 1){
putValue(Action.SMALL_ICON, IconoV);
}
else if(mina == 0){
putValue(Action.SMALL_ICON, IconoV2);
}
}
}