Jockel hat gesagt.:Konrad Duden könnte sicherlich zur Beantwortung der Frage beitragen.
Probiers doch mal mit Graphics.drawImage(Image img); Das Graphics-Objekt findest du im Package javax.microedition.lcdui.
...
import java.awt.Button;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class wallbreaker extends Frame{
Canvas cv;
public wallbreaker(){
Panel p=new Panel();
p.setLayout(new FlowLayout());
cv=new Canvas();
cv.setSize(550,450);
cv.setBackground(Color.RED);
Button bt= new Button("Spiel los");
p.add(cv);
p.add(bt);
add(p);
bt.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
keyPressed();
}
});
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
})
;
}
public void keyPressed()
{
Graphics g;
g=cv.getGraphics();
if (event.getKeyCode() == KeyEvent.VK_KP_LEFT) {
g.drawRect(50,50,50,50);
}
}
public static void main(String[] args) {
wallbreaker w=new wallbreaker();
w.setSize(700,500);
w.setVisible(true);
}
}
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;
public class BalkenGame extends JFrame implements KeyListener{
//wir erzeugen einen Balken an der Position x=135, y=90
// mit der Breite 50, der Höhe 10 und der Farbe blau
// die 10 gibt die Schritte in die jeweilige Richtung an
private Balken bal = new Balken(135,90,50,10,Color.BLUE,10);
/**
* Construktor
*/
public BalkenGame(){
super();
this.setTitle("Balken Game :)");
this.setSize(new Dimension(320,200));
this.getContentPane().setBackground(Color.BLACK);
this.addKeyListener(this);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setVisible(true);
}
/* (non-Javadoc)
* @see java.awt.Component#paint(java.awt.Graphics)
* wird aufgerufen, wenn repaint aufgerufen wird
*/
public void paint(Graphics gr) {
super.paint(gr);
this.setBackground(Color.BLACK);
this.bal.drawBalken(gr);
}
/* (non-Javadoc)
* @see java.awt.event.KeyListener#keyPressed(java.awt.event.KeyEvent)
* wenn eine der Pfeiltasten gedrückt wurdE, dann die Position um balkenSpeed erhöhen oder verringern
*/
public void keyPressed(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.VK_DOWN)
bal.setYPos(bal.getYPos()+bal.getBalkenSpeed());
if (event.getKeyCode() == KeyEvent.VK_UP)
bal.setYPos(bal.getYPos()-bal.getBalkenSpeed());
if (event.getKeyCode() == KeyEvent.VK_RIGHT)
bal.setXPos(bal.getXPos()+bal.getBalkenSpeed());
if (event.getKeyCode() == KeyEvent.VK_LEFT)
bal.setXPos(bal.getXPos()-bal.getBalkenSpeed());
this.repaint(); //repaint
}
public void keyReleased(KeyEvent arg0) {} //nicht benötigt
public void keyTyped(KeyEvent arg0) {} //NICHT BENÖTIGT
public static void main(String[] args) {
new BalkenGame();
}
}
import java.awt.Color;
import java.awt.Graphics;
public class Balken {
private int xPos = 0; //x-Position des Balken
private int yPos = 0; //y-Position des Balken
private int height = 20; //Höhe
private int width = 40; //Breite
private Color col = Color.BLUE; //farbe
private int balkenSpeed = 10; //Inkrementwert für neue Position
/**
* Constructor
*
* @param xPos
* @param yPos
* @param width
* @param height
* @param col
* @param balkenSpeed
*/
public Balken(int xPos, int yPos, int width, int height, Color col, int balkenSpeed) {
super();
this.xPos = xPos;
this.yPos = yPos;
this.height = height;
this.width = width;
this.col = col;
this.balkenSpeed = balkenSpeed;
}
/**
* Malt den Baolken mit den aktuellen Angaben
* @param gr
*/
public void drawBalken(Graphics gr){
gr.setColor(this.col);
gr.fillRect(this.xPos,this.yPos,this.width, this.height);
}
/**
* Alle Getter und Setter
*/
public int getXPos() {
return xPos;
}
public void setXPos(int pos) {
xPos = pos;
}
public int getYPos() {
return yPos;
}
public void setYPos(int pos) {
yPos = pos;
}
public Color getCol() {
return col;
}
public int getHeight() {
return height;
}
public int getWidth() {
return width;
}
public int getBalkenSpeed() {
return balkenSpeed;
}
}
Genau das dachte ich mir auch...jagdfalke hat gesagt.:Was labert der da?