PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Applet a e exibido no jsp #534187

11/10/2015

0

oi galera eu tenho uma jogo da memoria feito em java Applet que funciona muito bem

estou utilizando a tag <applet></applet> para integrá-lo em uma pagina jsp
mas não esta funcionando
abaixo segue o código do applet

package Fronteira;
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;

import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.Timer;

import Controle.ControleApplet;

public class jogo extends Applet implements ActionListener {

	private static final long serialVersionUID = 1L;
	JPanel panelCentro;
	JButton Botoes[];

	JPanel panelTopo;
	JButton btnNovo;
	JPanel panelRodape;
	List<String> t = new ArrayList<String>();
	ControleApplet cl;
	ImageIcon cartaCostas;

	int ulBotaoClick = -1;
	int qtdBotoesClick = 0;
	int qtdErros = 0;
	int pontos = 0;
	JLabel lblPontos;
	JTextField tfdPontos;
	JLabel lblErros;
	JTextField tfdErros;

	public jogo() {

		cartaCostas = new ImageIcon(
				"C:\\Users\\Dayane\\workspace\\WebTeste\\imagem\\default\\card_blank.png");
		panelTopo = new JPanel();
		panelTopo.setBounds(10, 11, 430, 31);
		add(panelTopo, BorderLayout.NORTH);
		panelTopo.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));

		btnNovo = new JButton("Novo Jogo");
		panelTopo.add(btnNovo);

		panelRodape = new JPanel();
		panelRodape.setBounds(10, 258, 430, 31);
		add(panelRodape, BorderLayout.SOUTH);
		panelRodape.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));

		lblPontos = new JLabel("Pontos");
		lblPontos.setVerticalAlignment(SwingConstants.TOP);
		panelRodape.add(lblPontos);

		tfdPontos = new JTextField();
		tfdPontos.setHorizontalAlignment(SwingConstants.CENTER);
		tfdPontos.setEditable(false);
		tfdPontos.setForeground(Color.BLACK);
		tfdPontos.setFont(new Font("Times New Roman", Font.BOLD, 12));
		tfdPontos.setColumns(3);
		panelRodape.add(tfdPontos);

		lblErros = new JLabel("Erros");
		lblErros.setVerticalAlignment(SwingConstants.TOP);
		panelRodape.add(lblErros);

		tfdErros = new JTextField();
		tfdErros.setHorizontalAlignment(SwingConstants.CENTER);
		tfdErros.setForeground(Color.BLACK);
		tfdErros.setFont(new Font("Times New Roman", Font.BOLD, 12));
		tfdErros.setEditable(false);
		tfdErros.setColumns(3);
		panelRodape.add(tfdErros);

		panelCentro = new JPanel();
		panelCentro.setBounds(10, 53, 430, 194);
		panelCentro.setLayout(new GridLayout(4, 4, 0, 0));
		add(panelCentro, BorderLayout.CENTER);

		btnNovo.addActionListener(this);

		int cont = 16;
		Botoes = new JButton[cont];
		cl = new ControleApplet();
		montaTela();
	}

	private void montaTela() { // Adiciona os botões ao painel
		for (int i = 0; i < Botoes.length; i++) {
			Botoes[i] = new JButton();
			panelCentro.add(Botoes[i]);
			Botoes[i].addActionListener(this);
		}
		iniciar();
	}

	public void iniciar() {
		embaralhaExibeTodos();
		Action acao = new AbstractAction() { // Ação a ser executada pelo Timer

			public void actionPerformed(ActionEvent e) {
				escondeTodos();
			}
		};
		Timer t = new Timer(8000, acao);
		t.setRepeats(false); // Garante que o timer seja usado apenas uma vez
								// (de cada vez)
		t.start();
	}

	private void embaralhaExibeTodos() { // Embaralha as imagens ante de exibir

		t = cl.embaralhaTabuleiro();
		for (int i = 0; i < Botoes.length; i++) {
			Botoes[i].setIcon(new ImageIcon(t.get(i)));
		}
	}

	private void escondeTodos() { // Esconde todas as imagens
		for (int i = 0; i < Botoes.length; i++) {
			Botoes[i].setIcon(cartaCostas);
		}
	}

	private void exibe(int i) { // Exibe a imagem clicada
		Botoes[i].setIcon(new ImageIcon(t.get(i)));
	}

	private void esconde(int i) { // Esconde uma imgem qualquer
		Botoes[i].setIcon(cartaCostas);
	}

	private void fazJogada(final int i) {

		if (qtdBotoesClick == Botoes.length) {
			ulBotaoClick = -1; // Último índice clicado
			qtdBotoesClick = 0; // Quantidade de botões clicados
		}

		// Mantém o Logo na tela e garante que cada botão só seja clicado uma
		// vez
		if (Botoes[i].getIcon() != cartaCostas) {
			return;
		}

		if (ulBotaoClick == -1) {// primeiro click
			exibe(i);
			ulBotaoClick = i;
		}

		else { // segundo click
			if (t.get(ulBotaoClick) == t.get(i)) { // se as imagem forem iguais
				exibe(i);
				ulBotaoClick = -1;
				pontos += 10;
				tfdPontos.setText(" " + pontos);
				qtdBotoesClick += 2;

				if (qtdBotoesClick == 16) {
					JOptionPane.showMessageDialog(null, "FIM DE JOGO! "
							+ "\nPontos " + pontos + "\n Erros " + qtdErros,
							"Jogo da Memoria", JOptionPane.INFORMATION_MESSAGE);
					iniciar();
				}
			}

			else { // se as imagem não forem iguais

				exibe(i);
				Action acao = new AbstractAction() { // Ação a ser executada
														// pelo Timer

					public void actionPerformed(ActionEvent e) {
						esconde(ulBotaoClick); // Após o erro as duas figuras
												// abertas por 1 segundos
						esconde(i);
						ulBotaoClick = -1;
						qtdErros += 1;
						pontos -= 5;
						tfdPontos.setText(" " + pontos);
						tfdErros.setText(" " + qtdErros);
					}
				};

				Timer t = new Timer(200, acao);
				t.setRepeats(false); // Garante que o timer seja usado apenas
										// uma vez (de cada vez)
				t.start();
			}
		}
	}

	public void actionPerformed(ActionEvent e) {
		String cmd = e.getActionCommand();
		if ("Novo Jogo".equalsIgnoreCase(cmd)) {
			iniciar();
		}
		for (int i = 0; i < Botoes.length; i++) {
			if (e.getSource() == Botoes[i]) {
				fazJogada(i);
			}
		}
	}
}


 package Endidade;

import java.io.File;
import java.util.ArrayList;

public class ListaArquivos {

	public ArrayList<String> listagemArquivo(String caminho) {

		try {
			File diretorio = new File(caminho);
			File fileList[] = diretorio.listFiles();

			ArrayList<String> arquivosListado = new ArrayList<String>();

			for (int i = 0; i < fileList.length; i++) {
				arquivosListado.add(fileList[i].getAbsolutePath());
			}
			return arquivosListado;
		} catch (Exception ex) {
			return null;
		}
	}
}

 package Controle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import Endidade.ListaArquivos;



public class ControleApplet implements ActionListener {
	static  ArrayList<String> arrayCartasJogo = new ArrayList<String>();
	static  ArrayList<String> arrayCartas = new ArrayList<String>();
	static  ListaArquivos objListaArquivos =new ListaArquivos();
	static  String caminho = "C:\\Users\\Dayane\\workspace\\WebTeste\\imagem\\carta";
	
	public ControleApplet() {
	
	}
	public    List<String> embaralhaTabuleiro() 
	{	
		arrayCartasJogo.addAll(objListaArquivos.listagemArquivo(caminho));	 	  
		// enbaralha as imagens aleatoriamente listadas no arrayCartasJogo
	   	Collections.shuffle(arrayCartasJogo);
		// adiciona as imagens em duplicata 
		for (int i = 0; i < 16 /2 ; i++) 
		  {
			arrayCartas.add(arrayCartasJogo.get(i));
			arrayCartas.add(arrayCartasJogo.get(i));		
		  }
		// sorteia as imagens no Jogo depois de serem duplicadas
		Collections.shuffle(arrayCartas);	
		return arrayCartas;		
} 
Dayane

Dayane

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar