Applet a e exibido no jsp
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
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
Curtidas 0