I am trying to run a applet for a program and everytime I do I get this error message.
java.lang.reflect.InvocationTargetException
In the java console the only thing I get is this
Java Plug-in 10.11.2.21
Using JRE version 1.7.0_11-b21 Java HotSpot Client VM
User home directory = C:\Users\Optemus
----------------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------
It works when I run it in eclipse and when I run it in JGrasp so I am guessing its my html maybe? But also I used the same code for my other applet and it works fine, so I dont see why the html would be bad.... Not sure which it is lol.
html code
code for the program
Thanks a lot!
java.lang.reflect.InvocationTargetException
In the java console the only thing I get is this
Java Plug-in 10.11.2.21
Using JRE version 1.7.0_11-b21 Java HotSpot Client VM
User home directory = C:\Users\Optemus
----------------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------
It works when I run it in eclipse and when I run it in JGrasp so I am guessing its my html maybe? But also I used the same code for my other applet and it works fine, so I dont see why the html would be bad.... Not sure which it is lol.
html code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="generator" content="CoffeeCup HTML Editor (www.coffeecup.com)">
<meta name="description" content="">
<meta name="keywords" content="">
<title>MapEditor</title>
<style type="text/css">
<!--
body {
color:#000000;
background-color:#339966;
}
a { color:#0000FF; }
a:visited { color:#800080; }
a:hover { color:#008000; }
a:active { color:#FF0000; }
-->
</style>
<!--[if IE]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<p> Map editor for a game, the game is a class project due soon took me a few hours
to code this, prob crap code but thought I would upload it anyways. Dont judge me! Haha</p>
<!--<applet codebase = ./Projects>
code = "MapEditor.class">
width = 760 >
height = 600>
<param name = SIZE value = 8>
Why can't you run applets?
</applet>-->
<applet width="400" height="200" codebase="./Projects" code="MapEditor.class">
<p> Source Files Non Applet <a href = "./DownloadCode/MapEditor.zip">MapEditor</a></p>
</body>
</html>
code for the program
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.Timer;
import java.applet.*;
import java.net.*;
import javax.swing.JApplet;
public class MapEditor extends JApplet implements ActionListener, KeyListener{
TilePanel tilePanel;
DrawPanel panel;
JMenuItem New, Save, Open;
Timer timer;
JButton button, fill, P, B, M;
/*public static void main(String[] args){
new MapEditor();
}*/
public MapEditor(){
setFocusTraversalKeysEnabled(false);
addKeyListener(this);
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("File");
button = new JButton("TogKey");
fill = new JButton("Fill");
P = new JButton("P");
B = new JButton("B");
M = new JButton("M");
menuBar.add(menu);
menuBar.add(button);
menuBar.add(fill);
menuBar.add(P);
menuBar.add(B)/>/>;
menuBar.add(M);
Open = new JMenuItem("Open");
Save = new JMenuItem("Save");
New = new JMenuItem("New");
New.addActionListener(this);
Open.addActionListener(this);
Save.addActionListener(this);
button.addActionListener(this);
fill.addActionListener(this);
P.addActionListener(this);
B.addActionListener(this);
M.addActionListener(this);
menu.add(New);
menu.add(Open);
menu.add(Save);
setJMenuBar(menuBar);
panel = new DrawPanel();
tilePanel = new TilePanel();
//setResizable(false);
//setSize(760,600);
//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
getContentPane().add(panel, BorderLayout.CENTER);
getContentPane().add(tilePanel, BorderLayout.WEST);
setVisible(true);
timer = new Timer(30, this);
timer.setInitialDelay(30);
timer.start();
}
@Override
public void keyPressed(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
public void actionPerformed(ActionEvent e) {
Object o = e.getSource();
if(o == timer){
panel.repaint();
timer.restart();
}
if(e.getSource() == New){
}else if(e.getSource() == Open){
}else if(e.getSource() == Save){
}else if(e.getSource() == button){
panel.setKeysClicked();
}else if(e.getSource() == fill){
panel.fill();
}else if(e.getSource() == P){
panel.setKey("P");
}else if(e.getSource() == B)/>/>{
panel.setKey("B");
}else if(e.getSource() == M){
panel.setKey("M");
}
}
}
import java.util.ArrayList;
public class Map {
Sprite monster, mapSprite;
String charString;
public Map(String charString, Sprite mapSprite){
this.charString = charString;
this.mapSprite = mapSprite;
}
public void setMapSprite(Sprite mapSprite){
this.mapSprite = mapSprite;
}
public Sprite getMapSprite(){
return mapSprite;
}
public Sprite getMonster(){
return monster;
}
public String getCharString(){
return charString;
}
public void setMonster(Sprite monster){
this.monster = monster;
}
public void setCharString(String charString){
this.charString = charString;
}
}
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JPanel;
public class TilePanel extends JPanel implements MouseMotionListener,MouseListener,ActionListener{
JButton dirt, grass, stone, water;
public TilePanel(){
addMouseListener(this);
addMouseMotionListener(this);
setPreferredSize(new Dimension(50,572));
dirt = new JButton("");
grass = new JButton("");
stone = new JButton("");
water = new JButton("");
dirt.setPreferredSize(new Dimension(32,32));
dirt.setIcon(new ImageIcon("Dirt.png"));
grass.setPreferredSize(new Dimension(32,32));
grass.setIcon(new ImageIcon("Grass.png"));
stone.setPreferredSize(new Dimension(32,32));
stone.setIcon(new ImageIcon("Stone.png"));
water.setPreferredSize(new Dimension(32,32));
water.setIcon(new ImageIcon("Water.png"));
dirt.addActionListener(this);
grass.addActionListener(this);
stone.addActionListener(this);
water.addActionListener(this);
add(dirt);
add(grass);
add(stone);
add(water);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(Color.BLACK);
g.fillRect(0, 0, getWidth(), getHeight());
}
public void actionPerformed(ActionEvent e) {
Object o = e.getSource();
if(e.getSource() == dirt){
DrawPanel.setClicked("D");
}else if(e.getSource() == water){
DrawPanel.setClicked("W");
}else if(e.getSource() == stone){
DrawPanel.setClicked("S");
}else if(e.getSource() == grass){
DrawPanel.setClicked("G");
}
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
}
}
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
public class DrawPanel extends JPanel implements MouseMotionListener,MouseListener{
Map[][] map;
public static String tile;
private static Image d = null;
private static boolean drawingClicked = false;
private boolean showKeys, showStartAndEnd, fill;
private String k;
String[][] key;
public DrawPanel(){
addMouseListener(this);
addMouseMotionListener(this);
Image d = new ImageIcon("Blank.png").getImage();
map = new Map[22][17];
key = new String[22][17];
showKeys = false;
showStartAndEnd = false;
fill = false;
for(int j = 0; j < 17; j++){
for(int i = 0; i < 22; i++){
key[i][j] = new String("N");
Animation a = new Animation();
a.addScene(d, 5250);
Sprite s = new Sprite(a);
s.setX(32*i);
s.setY(32*j);
map[i][j] = new Map("P", s);
}
}
}
public void setKey(String key){
drawingClicked = false;
k = key;
}
public void fill(){
if(fill)
fill = false;
else
fill = true;
}
public void loadMap(int mapNumber){
}
public void setKeysClicked(){
if(showKeys){
showKeys = false;
}else
showKeys = true;
}
public static void setClicked(String tileClicked){
switch(tileClicked){
case "D": d = new ImageIcon("Dirt.png").getImage();
break;
case "G": d = new ImageIcon("Grass.png").getImage();
break;
case "W": d = new ImageIcon("Water.png").getImage();
break;
case "S": d = new ImageIcon("Stone.png").getImage();
break;
}
drawingClicked = true;
}
public void paintComponent(Graphics g){
super.paintComponent(g);
// g.setColor(Color.WHITE);
// g.fillRect(0, 0, getWidth(), getHeight());
for(int j = 0; j < 17; j++){
for(int i = 0; i < 22; i++){
if(map != null){
Sprite s = map[i][j].getMapSprite();
g.drawImage(s.getImage(), Math.round(s.getX()), Math.round(s.getY()), null);
if(showKeys){
g.drawString(key[i][j], Math.round(s.getX()) + 10 , Math.round(s.getY()) + 19);
}
}
}
}
}
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
if(e.getX() > 0 && e.getX() <= getWidth() && e.getY() > 0 && e.getY() < getHeight()){
Animation a = new Animation();
a.addScene(d, 50);
if(fill && drawingClicked){
fill = false;
for(int j = 0; j < 17; j++){
for(int i = 0; i < 22; i++){
Sprite mapSprite = new Sprite(a);
mapSprite.setX(i * 32);
mapSprite.setY(j * 32);
map[i][j].setMapSprite(mapSprite);
}
}
}else if(drawingClicked){
Sprite mapSprite = new Sprite(a);
mapSprite.setX((e.getX()/32) * 32);
mapSprite.setY((e.getY()/32)*32);
map[e.getX()/32][e.getY()/32].setMapSprite(mapSprite);
}else{
if(fill){
for(int j = 0; j < 17; j++){
for(int i = 0; i < 22; i++){
key[i][j] = k;
}
}
}
else
key[e.getX()/32][e.getY()/32] = k;
}
}
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseDragged(MouseEvent e) {
if(e.getX() > 0 && e.getX() <= getWidth() && e.getY() > 0 && e.getY() < getHeight()){
if(drawingClicked){
Animation a = new Animation();
a.addScene(d, 50);
Sprite mapSprite = new Sprite(a);
mapSprite.setX((e.getX()/32) * 32);
mapSprite.setY((e.getY()/32)*32);
map[e.getX()/32][e.getY()/32].setMapSprite(mapSprite);
}else{
key[e.getX()/32][e.getY()/32] = k;
}
}
}
@Override
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
}
}
Thanks a lot!