Hallo!
Ich habe zwei Progs, die GUI und eine Nebenklasse Move. Kompiliere ich sie, klappt alles. Aber beim ausführen wird so eine lange Exception geworfen, die nicht mal mehr in die Eingabeaufforderung passt, also alles was darüber stand gelöscht wird und sie immer noch nicht fertig geschrieben ist, also oben auch ein Stück gelöscht worden ist.
Aber das ist nicht so wichtig, wichtig ist, wieso die Exception geworfen wird.
Hier der Code:
Die GUI Xtreme:
Die Nebenklasse Move:
So sollte alles aussehen:
Ein Ausschnitt der Exception:
thx für eure Antworten schonmal, unknown_member
Ich habe zwei Progs, die GUI und eine Nebenklasse Move. Kompiliere ich sie, klappt alles. Aber beim ausführen wird so eine lange Exception geworfen, die nicht mal mehr in die Eingabeaufforderung passt, also alles was darüber stand gelöscht wird und sie immer noch nicht fertig geschrieben ist, also oben auch ein Stück gelöscht worden ist.
Aber das ist nicht so wichtig, wichtig ist, wieso die Exception geworfen wird.
Hier der Code:
Die GUI Xtreme:
Code:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.image.*;
import javax.imageio.*;
public class Xtreme extends JFrame
implements ActionListener, MouseListener, WindowListener, KeyListener {
JPanel game;
JPanel set;
JButton ende;
BufferedImage player;
BufferedImage background;
ImageIcon close;
int location = 100;
int height = 400;
Move move;
public static void main(String [] args) throws IOException {
Xtreme go = new Xtreme();
go.setTitle("Volleyball X-treme");
go.setSize(Toolkit.getDefaultToolkit().getScreenSize());
go.setUndecorated(false); //Wenn fertig programmiert und getestet, auf true setzen
go.setCursor(CROSSHAIR_CURSOR);
go.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
go.setResizable(false);
go.setVisible(true);
}
Xtreme() {
makeGui();
addWindowListener(this);
}
public void makeGui() {
game = new JPanel();
set = new JPanel();
move = new Move();
close = new ImageIcon( "close.gif" );
try {
background = ImageIO.read(new File("Background_Street.gif"));
player = ImageIO.read(new File("player_one.gif"));
}
catch(IOException e) {
e.getMessage();
}
}
public void paint(Graphics g) {
super.paint(g);
g.drawImage(background, 0, 0, this);
g.drawImage(player, location, height, this);
}
public void keyReleased(KeyEvent ev) { }
public void actionPerformed(ActionEvent event) { }
public void mouseEntered(MouseEvent ev) { }
public void mouseExited(MouseEvent ev) { }
public void mouseClicked(MouseEvent ev) { }
public void mouseReleased(MouseEvent ev) { }
public void mousePressed(MouseEvent ev) { }
public void windowOpened(WindowEvent e) { }
public void windowIconified(WindowEvent e) { }
public void windowClosed(WindowEvent e) { }
public void windowActivated(WindowEvent e) { }
public void windowDeiconified(WindowEvent e) { }
public void windowDeactivated(WindowEvent e) { }
public void windowClosing(WindowEvent e) { }
public void keyPressed(KeyEvent ev) {
if (ev.getKeyCode() == KeyEvent.VK_UP) {
//Hier funktioniert der Sprung noch nicht, da ein Thread-Problem aufgetreten ist. -- Es wird bald durch eine neue Klasse "Move" gelöst. -- Vielleicht.
}
if (ev.getKeyCode() == KeyEvent.VK_LEFT && location != 15) {
move.bLeft();
}
if (ev.getKeyCode() == KeyEvent.VK_RIGHT && location != 400) {
location+=5;
repaint();
}
}
public void keyTyped(KeyEvent ev) { }
}
Die Nebenklasse Move:
Code:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.applet.*;
import java.net.*;
import java.io.File;
import java.awt.image.*;
import javax.imageio.*;
public class Move extends Xtreme
implements ActionListener, MouseListener, KeyListener {
boolean bLeft = false;
boolean bRight = false;
Xtreme x;
Move() {
makeGui();
addKeyListener(this);
}
public void makeGui() {
x = new Xtreme();
}
public void actionPerformed(ActionEvent event) { }
public void mouseEntered(MouseEvent ev) { }
public void mouseExited(MouseEvent ev) { }
public void mouseClicked(MouseEvent ev) {
}
public void handleMouseEvent(MouseEvent ev){ }
public void keyPressed(KeyEvent ev) {
}
public void bLeft() {
location-=5;
x.repaint();
}
public void mousePressed(MouseEvent ev) { }
public void keyTyped(KeyEvent ev) { }
public void keyReleased(KeyEvent ev) { }
public void mouseReleased(MouseEvent ev) { }
public static void main (String[] args) {
}
}
So sollte alles aussehen:
Ein Ausschnitt der Exception:
thx für eure Antworten schonmal, unknown_member