Guten Abend! Ich würde gerne wissen, wieso mir meine Bilder die auf die Label-Klasse nicht ausgeführt wird. Habe schon so gut wie alles ausprobiert...
Hier sind alle wichtigen Klassen dafür:
Main:
Label:
Var: (variablen)
Gui:
[code = Java]
package game;
import javax.swing.*;
public class Gui {
public Gui() {
Var.jf1 = new JFrame();
Var.jf1.setSize(Var.screenwidth, Var.screenheight);
Var.jf1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Var.jf1.setLocation(0, 0);
Var.jf1.setLayout(null);
Var.jf1.setTitle("Die Siedler von Catan");
Var.jf1.setResizable(true);
Var.jf1.requestFocus();
Var.jf1.setVisible(true);
Var.jf1.setLocationRelativeTo(null);
Var.lbl1 = new JLabel();
Var.lbl1.setBounds(0, 0, Var.screenwidth, Var.screenheight);
Var.lbl1.setVisible(true);
Var.jf1.add(Var.lbl1);
}
}
[/code]
Alle anderen Klassen funktionieren aber bei "Label" wird mir sogar nichts ausgegeben.. Danke falls mir jemand helfen kann
Hier sind alle wichtigen Klassen dafür:
Main:
Java:
package game;
import java.io.IOException;
public class CatanClass {
public static void main(String[] args) throws IOException {
new game.Gui();
new game.Var();
new game.MapCreator();
new game.Label();
}
}
Java:
package game;
import java.awt.Color;
import java.awt.Font;
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 = 1279261974128862013L;
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.drawImage(Var.corn1, getXfromNum(Var.corns[0][0]), getYfromNum(Var.corns[0][0]), 200, 200, null);
g.drawImage(Var.corn1, getXfromNum(Var.corns[1][0]), getYfromNum(Var.corns[1][0]), 200, 200, null);
g.drawImage(Var.corn1, getXfromNum(Var.corns[2][0]), getYfromNum(Var.corns[2][0]), 200, 200, null);
g.drawImage(Var.corn1, getXfromNum(Var.corns[3][0]), getYfromNum(Var.corns[3][0]), 200, 200, null);
g.drawImage(Var.rock1, getXfromNum(Var.rocks[0][0]), getYfromNum(Var.rocks[0][0]), 200, 200, null);
g.drawImage(Var.rock2, getXfromNum(Var.rocks[1][0]), getYfromNum(Var.rocks[1][0]), 200, 200, null);
g.drawImage(Var.rock3, getXfromNum(Var.rocks[2][0]), getYfromNum(Var.rocks[2][0]), 200, 200, null);
g.drawImage(Var.wood1, getXfromNum(Var.woods[0][0]), getYfromNum(Var.woods[0][0]), 200, 200, null);
g.drawImage(Var.wood1, getXfromNum(Var.woods[1][0]), getYfromNum(Var.woods[1][0]), 200, 200, null);
g.drawImage(Var.wood1, getXfromNum(Var.woods[2][0]), getYfromNum(Var.woods[2][0]), 200, 200, null);
g.drawImage(Var.wood1, getXfromNum(Var.woods[3][0]), getYfromNum(Var.woods[3][0]), 200, 200, null);
g.drawImage(Var.sheep1, getXfromNum(Var.sheeps[0][0]), getYfromNum(Var.sheeps[0][0]), 200, 200, null);
g.drawImage(Var.sheep2, getXfromNum(Var.sheeps[1][0]), getYfromNum(Var.sheeps[1][0]), 200, 200, null);
g.drawImage(Var.sheep3, getXfromNum(Var.sheeps[2][0]), getYfromNum(Var.sheeps[2][0]), 200, 200, null);
g.drawImage(Var.clay1, getXfromNum(Var.clays[0][0]), getYfromNum(Var.clays[0][0]), 200, 200, null);
g.drawImage(Var.clay2, getXfromNum(Var.clays[1][0]), getYfromNum(Var.clays[1][0]), 200, 200, null);
g.drawImage(Var.clay3, getXfromNum(Var.clays[2][0]), getYfromNum(Var.clays[2][0]), 200, 200, null);
g.drawImage(Var.clay4, getXfromNum(Var.clays[3][0]), getYfromNum(Var.clays[3][0]), 200, 200, null);
}
public int getXfromNum(int i) {
int x = 1000;
if (i == 0 || i == 5 || i == 10 || i == 15 || i == 19) {
x = Var.screenwidth / 2 - 100;
}
if (i == 1 || i == 7 || i == 12 || i == 17) {
x = Var.screenwidth / 2 - 150;
}
if (i == 2 || i == 8 || i == 13 || i == 18) {
x = Var.screenwidth / 2 + 150;
}
if (i == 3 || i == 9 || i == 14) {
x = Var.screenwidth / 2 - 300;
}
if (i == 5 || i == 11 || i == 16) {
x = Var.screenwidth / 2 - 100;
}
System.out.println(x);
return x;
}
public int getYfromNum(int i) {
int y = 1000;
if (i == 0)
y = 0;
if (i == 1 || i == 2)
y = 100;
if (i == 3 || i == 4 || i == 5)
y = 200;
if (i == 6 || i == 7)
y = 300;
if (i == 8 || i == 9 || i == 10)
y = 400;
if (i == 11 || i == 12)
y = 500;
if (i == 13 || i == 14 || i == 15)
y = 600;
if (i == 16 || i == 17)
y = 700;
if (i == 18)
y = 800;
System.out.println(y);
return y;
}
}
Java:
package game;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.*;
public class Var {
// GUI
// WINDOWS
static JFrame jf1;
static JLabel lbl1;
// VALUES
static int screenheight=1000, screenwidth=1000;
// MAP
// FIELDS
static BufferedImage corn1, corn2, corn3, corn4;
static BufferedImage rock1, rock2, rock3;
static BufferedImage wood1, wood2, wood3, wood4;
static BufferedImage sheep1, sheep2, sheep3;
static BufferedImage clay1, clay2, clay3, clay4;
static BufferedImage desert;
static int corns[][] = new int[4][1];
static int rocks[][] = new int[3][1];
static int woods[][] = new int[4][1];
static int sheeps[][] = new int[3][1];
static int clays[][] = new int[4][1];
static int deserts;
public Var() throws IOException {
try{
corn1 = ImageIO.read(new File("rsc/corn.png"));
corn2 = ImageIO.read(new File("rsc/corn.png"));
corn3 = ImageIO.read(new File("rsc/corn.png"));
corn4 = ImageIO.read(new File("rsc/corn.png"));
rock1 = ImageIO.read(new File("rsc/rock.png"));
rock2 = ImageIO.read(new File("rsc/rock.png"));
rock3 = ImageIO.read(new File("rsc/rock.png"));
wood1 = ImageIO.read(new File("rsc/wood.png"));
wood2 = ImageIO.read(new File("rsc/wood.png"));
wood3 = ImageIO.read(new File("rsc/wood.png"));
wood4 = ImageIO.read(new File("rsc/wood.png"));
sheep1 = ImageIO.read(new File("rsc/sheep.png"));
sheep2 = ImageIO.read(new File("rsc/sheep.png"));
sheep3 = ImageIO.read(new File("rsc/sheep.png"));
clay1 = ImageIO.read(new File("rsc/clay.png"));
clay2 = ImageIO.read(new File("rsc/clay.png"));
clay3 = ImageIO.read(new File("rsc/clay.png"));
clay4 = ImageIO.read(new File("rsc/clay.png"));
desert = ImageIO.read(new File("rsc/desert.png"));
} catch (IOException e) {
e.printStackTrace();
System.out.println("Bilder konnten nicht geladen werden");
}
}
}
[code = Java]
package game;
import javax.swing.*;
public class Gui {
public Gui() {
Var.jf1 = new JFrame();
Var.jf1.setSize(Var.screenwidth, Var.screenheight);
Var.jf1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Var.jf1.setLocation(0, 0);
Var.jf1.setLayout(null);
Var.jf1.setTitle("Die Siedler von Catan");
Var.jf1.setResizable(true);
Var.jf1.requestFocus();
Var.jf1.setVisible(true);
Var.jf1.setLocationRelativeTo(null);
Var.lbl1 = new JLabel();
Var.lbl1.setBounds(0, 0, Var.screenwidth, Var.screenheight);
Var.lbl1.setVisible(true);
Var.jf1.add(Var.lbl1);
}
}
[/code]
Alle anderen Klassen funktionieren aber bei "Label" wird mir sogar nichts ausgegeben.. Danke falls mir jemand helfen kann