Java Intégration En HTML
Je suis sûr que cette question a été posée un million de fois, mais pas n'importe comment beaucoup de recherches sur Google je ne je ne peut pas obtenir ce travail. J'essaie de commencer un projet avec plusieurs paquets à être incorporé dans une page web. J'ai fait un programme de test qui a juste fait quelques boules de rebondir autour de l'écran et a réussi à obtenir que l'exécution. J'ai mis la classe principale dans un seul paquet et le ballon classe dans une autre juste pour le tester et il semble être en cours d'exécution fine. Mais le programme que j'ai réellement besoin dans une page web (juste appelé FinalProject) refuse de le faire.
La meilleure chose que je peux l'obtenir à faire est de me donner un écran vide, sans une erreur, mais tout blanc. Si j'ai essayer de cliquer sur l'endroit où il devrait être, rien ne se passe, je pense que parce que l'applet est là, mais est de montrer le blanc donc je ne peux pas le voir. J'ai utilisé le applet
tag, qui, à partir de ma compréhension est maintenant déprécié, mais j'ai besoin de transformer ce projet en une page web pour que l'enseignant puisse le voir. Nous avons déjà testé que des projets des autres (qui a utilisé le applet
tag) de travail, j'essayais donc de s'en tenir à cela pour l'instant et de se soucier de la faire fonctionner sur tous les navigateurs par la suite. Bien que cela pourrait très bien être le problème. Peut-être qu'il travaillerait sur son navigateur, mais pas le mien ici. J'ai essayé de lancer mon programme sur Google Chrome, Mozilla Firefox et Internet Explorer avec pas de chance.
Voici le code HTML:
<html>
<head>
</head>
<body>
<applet code = "main.FinalProject.class" width = "700px" height = "500px"></applet>
</body>
</html>
Le fichier HTML ce qui est écrit dans est dans [Eclipse Workspace]/FinalProject/bin/test.htm
. L'FinalProject.class fichier référencé dans le code HTML existe dans [Eclipse Workspace]/FinalProject/bin/main/FinalProject.class
. L'FinalProject.class fichier des actes comme la classe principale, donc je suis sûr que c'est celui dont j'ai besoin pour exécuter. C'est l'un avec l'init(), actionPerformed(), paint() les méthodes et toutes les autres bonnes choses.
Actuellement j'essaie de l'exécuter en mode hors connexion sur mon ordinateur, donc il ne devrait pas être tout net les URL, je pense. J'ai utilisé Eclipse pour écrire le code Java, je ne sais pas si cela fait une différence. Malheureusement, le code Java est plutôt grand, trop de reproduire ici, si il y a quelque chose de spécifique que vous pensez est le problème, je peux regarder et après cette petite section.
Quelques-uns de mes amis a réussi à obtenir leur travail, cependant, ils ont dit qu'ils avaient de supprimer tous les .les fichiers png (gênant, mais faisable pour mon projet). Ils ont également dit avait de supprimer tous les mouvements de la souris de code. Mon programme est le genre de personne à charge sur ce, j'ai besoin de ça pour qu'il fonctionne à tous. Je sais il DOIT y avoir un moyen d'utiliser toutes les MouseListener et MouseMoveListener ligne de code, c'est peut-être un peu différent. Je ne sais pas si cela a quelque chose à voir avec cela, mais je pensais que je n'avais point juste pour être sûr.
Toute aide serait grandement appréciée.
Oh oups, j'ai dit FinalProject est DANS la CLASSE principale. Qui n'a pas vraiment de sens. Je voulais dire FinalProject EST la classe Principale, et est également DANS le paquet principal. C'était censé être 2 phrases, en quelque sorte, j'ai combiné.
Je suggérerais à l'aide de javascript au lieu de Java. Il sera beaucoup plus facile et beaucoup plus rapide.
Je ne sais pas quelle est l'erreur que j'obtiens, depuis que je suis seulement un écran vide je ne peux pas la regarder jusqu'à la console Java (sauf si il y a un autre moyen je ne sais pas).
Vous pourriez vous connecter la console à quelque chose sur le serveur de base de données ou un fichier, mais que peut-être plus de travail que nécessaire. Avez-vous essayez de spécifier l'attribut archive de votre applet tags?
OriginalL'auteur Doug | 2012-06-09
Vous devez vous connecter pour publier un commentaire.
Fondamentalement que vous demandez quelque chose comme: Comment déployer une applet java pour les navigateurs d'aujourd'hui (applet, embed, object)?
Sur cette base, je pense que ce que vous voulez, c'est:
Maintenant, vous avez un nom de fichier de
main.FinalProject.class
dans votre code. Il semble queFinalProject.class
serait plus probable. Mais le vôtre peut-être. En tout cas, la version html de ce fichier doit être dans le même dossier quemain.FinalProject.class
ouFinalProject.class
et quelles que soient les classes peuvent également être requis.Maintenant, vous pouvez aussi vous devez vous assurer que votre navigateur peut effectivement exécuter une applet. Voir: Comment puis-je activer Java dans un navigateur web?
Mise à jour
Sur la base des commentaires de Andrew Thompson, la meilleure solution est d'utiliser JavaScript à partir d'Oracle, comme ceci:
Cela nécessite la capacité de charge JavaScript arbitraire, mais vous pouvez aussi capturer l'deployJava.js et ont-être que locale. Peut-être en valeur un regard.
Mon google Chrome et Safari ont le code dans cette répondant à travailler sur MacOSX. Firefox n'a réussi, mais j'ai mis à jour le type de la balise embed, et maintenant ça fonctionne. Vous pouvez également regarder: java.com/en/download/help/enable_browser.xml
Il dit qu'il est activé, et je n'ai jamais eu aucun problème avec toutes les autres applets Java en ligne. Certes, c'est assez rare j'en utilise un, mais il est encore toujours fonctionné. Tous les navigateurs garder popping up avec le "Êtes-vous vraiment sûr que vous voulez exécuter cette? Il pourrait exploser votre ordinateur!" à chaque fois que j'essaie de le charger, donc je sais que ce n'est pas désactivé.
Je pense que vous voulez vous assurer que votre classe est nommée
FinalProject.class
-- dans votre code, vous auriez dû:public class FinalProject extends Applet
je crois. Êtes-vous sûr que votre applet fait exécuter?Le programme s'exécute correctement dans Eclipse, et le fichier est nommé
FinalProject.class
. L'intégralité de la déclaration en ligne estpublic class FinalProject extends JApplet implements ActionListener, KeyListener, MouseListener, MouseMotionListener {
. Je ne sais pas si le JApplet a rien à faire avec elle.OriginalL'auteur artlung