Frage von lucascraft, 54

Java Code Fehler Hilfe?

Ich versteh nicht warum in dem Code ein Fehler angezeigt wird. Bitte um Hilfe.

package jadahb1.de.game;

import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.RenderingHints.Key; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent;

import javax.swing.ImageIcon; import javax.swing.JPanel;

public class gui extends JPanel implements ActionListener {

Image img;
int key;
int lauf;

public gui(){
    key = 0;
    lauf = 0;
    setFocusable(true);
    ImageIcon u =new ImageIcon("C:/Users/Lucas/Desktop/image.jpg");
    img = u.getImage();
    

}

public void paint(Graphics g){
    
    super.paint(g);
    Graphics2D f2 =(Graphics2D)g;
    
    f2.drawImage(img,0,0,null);
    
}

public class AL extends KeyAdapter {
    public AL() {
        
    }
    
    public void keyPressed(KeyEvent e){
        
        
        key = e.getKeyCode();
        
        if(key == KeyEvent.VK_LEFT){
            lauf = 1;
            
        }
        if(key == KeyEvent.VK_RIGHT){
            lauf = -1;
        }
    }
    
    public void keyReleased(KeyEvent e){
        
        key = e.getKeyCode();
            
        if(key = KeyEvent.VK_LEFT || key == KeyEvent.VK_RIGHT){
            lauf = 0;
        }
    
    
    
    }
    
}

}

Bei der Zeile "if(key = KeyEvent.VK_LEFT || key == KeyEvent.VK_RIGHT)" steht die fehler meldung "The operator || is undefined for the argument type(s) int, boolean"

Antwort
von DontHaveAName, 37

Zähle mal die Gleichheitszeichen in der Abfrage...

Antwort
von PROGRAM4FUN, 30

key = KeyEvent.VK_LEFT ist eine Zuweisung, Du willst wohl eher abfragen, ob key die linke Pfeiltaste ist, also key == KeyEvent.VK_LEFT. Das sollte gehen.



Antwort
von Gehilfling, 23

Du machst mit "==" eine Abfrage auf Gleichheit, mit "=" eine Zuweisung, die Zuweisung ist hier falsch.Du musst entsprechend deine "IF" Abfrage so schreiben:

((key == KeyEvent.VK_LEFT) || (key == KeyEvent.VK_RIGHT))

Die zusätzliche Klammerung dient nur der Übersicht und ist nicht zwingend notwendig.

Keine passende Antwort gefunden?

Fragen Sie die Community