Also folgendes Problem. Dieser Code funktioniert nur im erst Durchlauf leider funktioniert das zwischenspeichern nicht. Habe ich was falsch gemacht oder aber gibt es Alternativen.
Code:
package game.gui;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JLabel;
import game.main.Var;
public class Label extends JLabel{
private static final long serialVersionUID = 1L;
public static Graphics Welt;
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.create();
laden(g);
repaint();
}
private void laden(Graphics g) {
if(Var.WeltStatus>=0) {
//##########################//
// Laden 1 //
//##########################//
if(Var.WeltStatus==0) {
for(int x=0;x<Var.welt[1].length;x++) {
for(int y=0;y<Var.welt.length;y++) {
if(Var.welt[x][y]==0) {
g.setColor(Color.black);
g.fillRect(x, y, 1, 1);
}
else if(Var.welt[x][y]==1) {
g.setColor(Color.white);
g.fillRect(x, y, 1, 1);
}
}
}
Var.WeltStatus=-1;
Welt=(Graphics2D) g;
}
}
else
{
System.out.println(Var.WeltStatus);
g=Welt;
}
}
}