Hallo ich habe ein kleines Programm geschrieben. Zuerst soll ein Hintergrund angezeigt werden! Dieser lädt aber aus irgendeinem Grund nicht!
Hier sind die Klassen:
-main:
-gui Klasse:
-Label Klasse:
-variablen Klasse:
-Keyhandler Klasse:
Danke schonmal im vorraus!
Hier sind die Klassen:
-main:
Java:
package pack1;
public class main {
public static void main(String[] args) {
new gui();
new var();
new keyhandler();
new label();
}
}
Java:
package pack1;
import java.awt.Label;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
public class gui {
public gui(){
var.jf1 = new JFrame();
var.jf1.setSize(var.screenwidth, var.screenheight);
var.jf1.setLocationRelativeTo(null);
var.jf1.setVisible(true);
var.jf1.setTitle("FutureShit");
var.jf1.setResizable(false);
var.jf1.setLayout(null);
var.jf1.addKeyListener((KeyListener) new keyhandler());
var.jf1.requestFocus();
var.labl1 = new Label();
var.labl1.setBounds(0, 0, var.screenwidth, var.screenheight);
var.labl1.setVisible(true);
var.jf1.add(var.labl1);
var.jf1.setVisible(true);
System.out.println("los2!");
}
}
-Label Klasse:
Java:
package pack1;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JLabel;
public class label extends JLabel{
private static final long serialVersionUID = 1L;
protected void paintComponent(Graphics g){
System.out.println("Aha!");
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.drawImage(var.ibg1, 0, var.backgroundY1, 800, 600, null);
g.drawImage(var.ibg2, 0, var.backgroundY2, 800, 600, null);
System.out.println("Fertig!");
System.out.println("los3!");
repaint();
}
}
-variablen Klasse:
Java:
package pack1;
import java.awt.Label;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
public class var {
static JFrame jf1;
static int screenwidth = 800, screenheight = 600;
static int backgroundY1 = 0, backgroundY2 = -600;
static boolean moveup = false, movedown = false, moveleft = false, moveright = false;
static Label labl1;
static BufferedImage ibg1, ibg2;
public var(){
try{
//Background
ibg1 = ImageIO.read(new File("scr/bg1.png"));
ibg2 = ImageIO.read(new File("scr/bg1.png"));
System.out.println("los4.1!");
}catch (IOException e){
e.printStackTrace();
System.out.println("Bilder konnten nicht geladen werden!");
System.out.println("los4.2!");
}
}
}
-Keyhandler Klasse:
Java:
package pack1;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class keyhandler implements KeyListener{
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_W){
var.moveup = true;
}
if(e.getKeyCode() == KeyEvent.VK_A){
var.moveleft = true;
}
if(e.getKeyCode() == KeyEvent.VK_S){
var.movedown = true;
}
if(e.getKeyCode() == KeyEvent.VK_D){
var.moveright = true;
}
}
@Override
public void keyReleased(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_W){
var.moveup = false;
}
if(e.getKeyCode() == KeyEvent.VK_A){
var.moveleft = false;
}
if(e.getKeyCode() == KeyEvent.VK_S){
var.movedown = false;
}
if(e.getKeyCode() == KeyEvent.VK_D){
var.moveright = false;
}
}
@Override
public void keyTyped(KeyEvent e) {
}
}
Danke schonmal im vorraus!
Zuletzt bearbeitet von einem Moderator: