KeyListener! Image Problem!

Status
Nicht offen für weitere Antworten.

SirBaros

Bekanntes Mitglied
Hallo! iCh habe einen KeyListener im Konstruktor geadded und sobald man nach links oder rechts am steuerkreuz klickt soll er einen balken nach links bzw nach rechts zeichnen!!ich hab ein bild als hintergrund eingefügt und jetzt ist er nciht ehr zu sehen! ich habe versucht den keylistener im Button aufzurufen aber nix geht! bitte helft mir will den balken vom Keylistener auf dem im
Code:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.net.MalformedURLException;
import java.net.URL;


public class Break extends Frame implements KeyListener,Runnable{

    Canvas cv;
    Graphics g;
    
    boolean lol= true;
    boolean weiter= true;
    int x=500, y=400,y1=2,x1=2;
    int yPos=680;
    int xPos=350;
    int hoehe=15;
    int breite=150;
    Color black = new Color(0,0,0);
    Color c;
    Thread th;
    public Break(){

        super("wallbreaker");
    	setSize(1000,800);
        setLayout(new FlowLayout());
    	cv = new Canvas();
        cv.setSize(900,750);
       

        Button bt=new Button("lol");

        add(cv);
        add(bt);
        addKeyListener(this);
        th=new Thread(this);
        
        bt.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent  e){
           zeichnen();
           th.start();
           
           ;
            }
                  
        }); 

        addWindowListener(new WindowAdapter(){

            public void windowClosing(WindowEvent arg0){

                System.exit(0);

            }

        });

    }

    public void zeichnen() {
    	Graphics g;
        g=cv.getGraphics();
        
        Image img2 = getToolkit().getImage("back.jpg");
	    MediaTracker mt2 = new MediaTracker(this);
	    mt2.addImage(img2, 0);
	    
	    try {
	        
	         mt2.waitForAll();
	      } catch (InterruptedException e) {
	         
	      }
	      g.drawImage(img2,0,0,this);
	      
      }

    public void run(){

         g=cv.getGraphics();
        
            	while(weiter){
               if(x>=cv.getWidth()-10||x<=0){

                  x1=-x1;
              }

              if(y>=cv.getHeight()-10||y<=0){
                  y1=-y1;

              }
              
              
              x=x+x1;
              y=y+y1;
              g.fillOval(x,y,10,10);

              try{
                     Thread.sleep(10);
                 }
                 catch(InterruptedException h){}

              
              zeichnen();
              treffen(x,y);

            	}
    }

       public void keyPressed(KeyEvent event)
       {

       	if (event.getKeyCode() == KeyEvent.VK_LEFT) {

       		if(xPos<=15){
         		xPos=15;
         		}
         	g.setColor(new Color(200,200,255));
         	 
         	g.fillRect(0,680,1000,30);
         	g.setColor(Color.BLACK);
         	xPos=xPos-10;
         	
         	g.fillRect(xPos,yPos,breite,hoehe);	
         	
         }if (event.getKeyCode() == KeyEvent.VK_RIGHT) {
         	if(xPos>=825){
         		xPos=825;}

         			
         	g.setColor(new Color(200,200,255));
         	g.fillRect(0,680,1000,30);
         	g.setColor(Color.BLACK);
         	xPos=xPos+10;
         	
         	g.fillRect(xPos,yPos,breite,hoehe);	
         	}	

      
       }
       public void keyReleased(KeyEvent event){

       }

       public void keyTyped(KeyEvent event){}

             
       public void treffen(int x, int y){
        Robot r;
        
        try{
            
            
            
            r = new Robot();
            c = r.getPixelColor(x,y);
         
           
        }catch(AWTException h){}
        
        if(black.equals(c)){
            
            y1=-y1;
            
        }
        
    }
        
    
    public static void main(String[] args) {

        Break f = new Break();

        f.show();
        

    }


}


age wandern lassen!Danke!

edited by thE_29: code Tags!
 

Brainiac

Bekanntes Mitglied
Wenn du Deinen Code mal in nett formatierter Form innerhalb der"code" quotes postet, lönne wir auch was dazu sagen.
hier mal ein grundsätzliches Bsp. zum KeyListener:
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class KeyListenerSample extends JFrame implements KeyListener {
    private JLabel ausgabe;
    
    public KeyListenerSample() {
        super("Beispiel für KeyListener");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        addKeyListener(this);
        ausgabe = new JLabel();
        ausgabe.setPreferredSize(new Dimension(200, 20));
        getContentPane().add(ausgabe);
        pack();
    }

    public void keyPressed(KeyEvent e) {
        ausgabe.setText(e.getKeyChar() + " Taste gedrückt.");
    }

    public void keyReleased(KeyEvent e) {
        ausgabe.setText(e.getKeyChar() + " Taste losgelassen.");
    }

    public void keyTyped(KeyEvent e) {
        ausgabe.setText(e.getKeyChar() + " Taste geschrieben.");
    }

    public static void main(String argv[]) {
        new KeyListenerSample().setVisible(true);
    }
}

Für deinen Zweck mußt du halt in deiner der KeyEvet Methoden abfragen ob eine Pfeiltaste gedrückt wurde, dann die Positionsänderung an deine Zeichenfläche übergeben und sie neu zeichnen lassen.

@Edit: Hier mal ein Beispiel mit Zeichenflaeche und bewegendem Kästchen:
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class KeyListenerSample extends JFrame implements KeyListener {
    private JLabel ausgabe;
    private Zeichenflaeche zeichenflaeche;
    
    public KeyListenerSample() {
        super("Beispiel für KeyListener");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        addKeyListener(this);
        zeichenflaeche = new Zeichenflaeche();
        zeichenflaeche.setPreferredSize(new Dimension(200, 200));
        ausgabe = new JLabel();
        ausgabe.setPreferredSize(new Dimension(200, 20));
        getContentPane().add(zeichenflaeche, "Center");
        getContentPane().add(ausgabe, "South");
        pack();
    }

    public void keyPressed(KeyEvent e) {
        if (e.getKeyCode() == KeyEvent.VK_LEFT) {
            zeichenflaeche.setXPos(-1);
        } else if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
            zeichenflaeche.setXPos(1);
        } else if (e.getKeyCode() == KeyEvent.VK_UP) {
            zeichenflaeche.setYPos(-1);
        } else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
            zeichenflaeche.setYPos(1);
        }
        ausgabe.setText(e.getKeyChar() + " Taste gedrückt.");
    }

    public void keyReleased(KeyEvent e) {
        ausgabe.setText(e.getKeyChar() + " Taste losgelassen.");
    }

    public void keyTyped(KeyEvent e) {
        ausgabe.setText(e.getKeyChar() + " Taste geschrieben.");
    }

    public static void main(String argv[]) {
        new KeyListenerSample().setVisible(true);
    }
}

class Zeichenflaeche extends JPanel {
    private int xPos, yPos;

    public Zeichenflaeche() {
        xPos = 0;
        yPos = 0;
    }
    
    public void setXPos(int xChange) {
        if (xPos + xChange >= 0 && xPos + xChange <= getHeight())
            xPos += xChange;
        repaint();
    }

    public void setYPos(int yChange) {
        if (yPos + yChange >= 0 && yPos + yChange <= getWidth())
            yPos += yChange;
        repaint();
    }

    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.fillRect(xPos, yPos, 10, 10);
    }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G KeyListener für JTextField Allgemeine Java-Themen 5
VfL_Freak KeyEvent.VK_TAB im KeyListener abfragen Allgemeine Java-Themen 13
N Keylistener ohne Dazugehörige Gui Allgemeine Java-Themen 6
R Java KeyListener buggt? Allgemeine Java-Themen 1
C KeyListener Frage Allgemeine Java-Themen 3
T KeyListener Allgemeine Java-Themen 1
S KeyListener ohne Focus - Wie? Allgemeine Java-Themen 2
E KeyListener ohne GUI Allgemeine Java-Themen 6
C KeyListener auslagern - Wie? Allgemeine Java-Themen 3
P Tastatur abfrage ohne KeyListener Allgemeine Java-Themen 3
B Keylistener geht nicht Allgemeine Java-Themen 9
A keylistener funktionirt nicht Allgemeine Java-Themen 4
G JTable mit Keylistener geht nicht Allgemeine Java-Themen 3
M KeyListener Allgemeine Java-Themen 8
S C++/C KeyListener zusammen mit Java Programm Allgemeine Java-Themen 4
T KeyListener lässt sich nur einmal drücken Allgemeine Java-Themen 2
B MouseListener und KeyListener Allgemeine Java-Themen 15
C Sudoku und KeyListener Allgemeine Java-Themen 2
O Frage zum KEyListener Allgemeine Java-Themen 3
J keylistener auf jtable Allgemeine Java-Themen 19
ARadauer mit keylistener hören auch wenn frame nicht den focus hat Allgemeine Java-Themen 2
U Frage zum KeyListener Allgemeine Java-Themen 7
B KeyListener auf mehrere TextFields anwenden Allgemeine Java-Themen 5
G KeyListener: Wiederholtes Aufrufen von KeyPressed verhindern Allgemeine Java-Themen 3
M Tab und KeyListener in einer JTextArea Allgemeine Java-Themen 7
D Allgemeiner KeyListener Allgemeine Java-Themen 4
G KeyListener auf ALT + S Allgemeine Java-Themen 5
7 Keylistener Allgemeine Java-Themen 3
TheJavaKid Focus für KeyListener setzen Allgemeine Java-Themen 5
M Keylistener für sondertasten an Tastaturen? Allgemeine Java-Themen 6
S Keylistener funktioniert nicht(setFocusable) Allgemeine Java-Themen 4
K KeyListener-Alternative ohne anfängliches Delay ? Allgemeine Java-Themen 5
R Global KeyListener/MouseListener Allgemeine Java-Themen 4
T Unterschiede beim KeyListener zwischen NT und XP Allgemeine Java-Themen 6
R KeyListener ohne Frame und Applet Allgemeine Java-Themen 7
F KeyListener für JTextField Allgemeine Java-Themen 4
S KeyListener ohne awt Allgemeine Java-Themen 2
D Image bewegt sich nicht nach Klicken auf Button Allgemeine Java-Themen 15
Mozart53 JLabel nur meinen Text verschieben ohne Image Allgemeine Java-Themen 3
Y Wie bekomme ich durch getImage an das Image heran? Allgemeine Java-Themen 1
J jsch direktes streamen in ein image Allgemeine Java-Themen 11
A 2D-Grafik Einfachster Ansatz, um sich wiederholende Figur in einem 2D-Image zu erkennen Allgemeine Java-Themen 1
T 2D-Grafik Chart als Image erstellen Allgemeine Java-Themen 3
G Image in Shape wandeln Allgemeine Java-Themen 1
T Swing Image rotieren Allgemeine Java-Themen 1
I nach Image Load in ListView, kann Ordner nicht mehr gelöscht werden Allgemeine Java-Themen 1
C pfad vom Image ausgeben lassen Allgemeine Java-Themen 5
Bananabert Swing jtree : image als user object Allgemeine Java-Themen 2
M Image auslesen Allgemeine Java-Themen 2
G Pixelanzahl aus Raw Image Datei Allgemeine Java-Themen 1
H OCR und Image Processing Allgemeine Java-Themen 4
M Image für PDF nicht verfügbar - Runnable .jar Allgemeine Java-Themen 3
S BLOB Image in JSP anzeigen Allgemeine Java-Themen 5
BRoll Image RGB Werte auslesen und vergleichen Allgemeine Java-Themen 8
K Image zu BufferedImage konvertieren Allgemeine Java-Themen 9
K Image beim catchen ist immer null Allgemeine Java-Themen 9
X Image Processing libary für JavaSE und Android Allgemeine Java-Themen 2
Crashbreaker RCP-View Image öffnen und darstellen Allgemeine Java-Themen 7
S IMAGE ARRAY laden Allgemeine Java-Themen 6
B Image oder GridControl? Allgemeine Java-Themen 8
B Image Thinning Allgemeine Java-Themen 3
A Input/Output Buffered Image zu Byte Array und zurück konvertieren Allgemeine Java-Themen 4
F Datentypen Floppy-Image-Dateisystem Allgemeine Java-Themen 5
F Image - Ausschnitt bekommen Allgemeine Java-Themen 3
J Teil eines Image/ImageIcon zeichnen Allgemeine Java-Themen 2
N Unable to convolve src image Allgemeine Java-Themen 7
H image in jtextarea/JLabel einbinden... Allgemeine Java-Themen 4
Aigu Bilderkennung / Image Analysis Allgemeine Java-Themen 2
M Nochmal I-Frame zu Image Allgemeine Java-Themen 4
M JPEG Image komprimieren Allgemeine Java-Themen 2
M Probleme mit Image Extraction aus PDF Allgemeine Java-Themen 2
V Image laden - URL über ClassLoader ermitteln Allgemeine Java-Themen 2
G sun.awt.image.OffScreenImage Serializable machen Allgemeine Java-Themen 5
T Image in gif umwandeln Allgemeine Java-Themen 14
G itext größe von image Allgemeine Java-Themen 2
T JPanel to Image? Allgemeine Java-Themen 6
K Image Resizer Allgemeine Java-Themen 4
D Image runterscalieren, aber schlechte Quali? Allgemeine Java-Themen 3
L Buffered Image teilweise zeichnen Allgemeine Java-Themen 6
P Image erzeugen Allgemeine Java-Themen 7
B Image libraries Allgemeine Java-Themen 3
MQue Image über Komponente Allgemeine Java-Themen 3
P Image auf JPanel auf JFrame Allgemeine Java-Themen 3
P Image auf einem Panel mit null-Layout Allgemeine Java-Themen 8
E Image unterscheiden Allgemeine Java-Themen 16
E Image auf einem JLabel darstellen Allgemeine Java-Themen 3
F BufferedImage -> Image Allgemeine Java-Themen 4
E Wie bekomme ich mein Image in das Fenster Allgemeine Java-Themen 2
T Muster/Zeichen/Texterkennung auf einem Image Allgemeine Java-Themen 9
L Linien, Recktecke und Elipsen zeichnen ohne Image Allgemeine Java-Themen 2
T Disk Image Library (iso,mdf,nrg,bin) Allgemeine Java-Themen 6
S Image als Background Allgemeine Java-Themen 5
B Image(png) versenden Allgemeine Java-Themen 3
N Image -> cropImage Allgemeine Java-Themen 3
T Image mithilfe von DirectColorModel und Pixel erstellen Allgemeine Java-Themen 3
G Image in der Größe ändern Allgemeine Java-Themen 2
C probleme mit image Allgemeine Java-Themen 4
C Pixelfarbe aus einem image auslesen Allgemeine Java-Themen 6
M Image Skalieren Allgemeine Java-Themen 23
D ByteArray für Image-Icon laden. Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben