Also meine Frage ist, warum ich diesen Fehler bekomme? Ich verstehe es nicht. Der Fehler ist in der Main-Klasse in der Zeile mit : if(f.getHoch()). Dort ist getHoch unterstrichen und er sagt mir : The method getHoch() is undefined for the type JFrame
Main-Klasse
Fenster-Klasse
Danke im Voraus
Main-Klasse
Java:
package Bewegung;
import javax.swing.JFrame;
public class Hauptprogramm
{
public static void main(String[] args)
{
JFrame fenster = new Fenster();
while(true)
{
if(fenster.getHoch())
{
System.out.println("hi");
}
f.repaint();
try
{
Thread.sleep(20);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
}
Fenster-Klasse
Java:
package Bewegung;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Fenster extends JFrame
{
public int Pos_X = 0;
public int Pos_Y = 0;
public int Größe = 50;
JLabel Zeichnung;
Boolean Hoch = false;
Boolean Runter = false;
Boolean Rechts = false;
Boolean Links = false;
public Fenster()
{
super("Spieltest");
setLayout(null);
//Zeichnen
Zeichnung = new Bildschirm();
Zeichnung.setBounds(0, 0, 1050, 750);
add(Zeichnung);
addKeyListener(new Tastatur());
setFocusable(true);
//Fenster
setResizable(false);
setDefaultCloseOperation(3);
setSize(1050, 750);
setLocationRelativeTo(null);
setVisible(true);
}
//Zeichnung
private class Bildschirm extends JLabel
{
@Override
protected void paintComponent(Graphics g)
{
//Zeichnung
super.paintComponent(g);
//Hintergrund
g.setColor(Color.BLACK);
g.fillRect(0, 0, 1050, 750);
//Zeichnung
g.setColor(Color.RED);
g.fillRect(Pos_X, Pos_Y, Größe, Größe);
}
}
//Tastatureingabe
private class Tastatur implements KeyListener
{
@Override
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode() == KeyEvent.VK_W)
{
Hoch = true;
}
if(e.getKeyCode() == KeyEvent.VK_A)
{
Links = true;
}
if(e.getKeyCode() == KeyEvent.VK_S)
{
Runter = true;
}
if(e.getKeyCode() == KeyEvent.VK_D)
{
Rechts = true;
}
}
@Override
public void keyReleased(KeyEvent e)
{
if(e.getKeyCode() == KeyEvent.VK_W)
{
Hoch = false;
}
if(e.getKeyCode() == KeyEvent.VK_A)
{
Links = false;
}
if(e.getKeyCode() == KeyEvent.VK_S)
{
Runter = false;
}
if(e.getKeyCode() == KeyEvent.VK_D)
{
Rechts = false;
}
}
@Override
public void keyTyped(KeyEvent e)
{
}
}
//Getter und Setter
public Boolean getHoch()
{
return Hoch;
}
public Boolean getLinks()
{
return Links;
}
public Boolean getRunter()
{
return Runter;
}
public Boolean getRechts()
{
return Rechts;
}
}
Danke im Voraus