HI, ich habe eine Frage :
Also ich habe mit folgendem CodeFragment:
(dieses Code Stück lasse ich in meinem Constructor einfach ausführen)
2 schwarze balken von oben und von unten auftauchen lassen, dies klappt alles ohne flimmern, aber wenn diese balken dann von oben und und unten wieder weg sollen, dann flimmert es entweder, oder man sieht die balken die ganze zeit, warum?
hier der Constructor der Klasse, das Panel ist ein Attribut der Klasse, und die Klasse erbt von JFrame:
Was mache ich falsch?
Ich will:
Dass die balken erscheinen
wieder
verschwinden
und dann der keylistener geadded wird,
Es geschieht:
das auf tauchen der Balken
das verschwinden gar nicht,
wenn man eine taste nach 10 sekunden drückt, weiß man, dass der Keylistener schon längst geadded wurde,
und erst dann sind die balken ganz weg, und verschwinden nicht stückweise, wie es geplant ist,
kann mir einer helfen, danke für all eure HIlfe, Developer_X
Also ich habe mit folgendem CodeFragment:
Java:
public void film()
{
Graphics g = main.getGraphics();
drawStandard(g);
int balkA = 0;
int balkB = d.height;
while(balkA<=d.height/6)
{
g.setColor(Color.black);
g.fillRect(-d.width/5,0,d.width*10,balkA);
g.fillRect(-d.width/5,balkB,d.width*10,d.height/5);
balkA++;
balkB--;
sleep(10);
}
while(balkA>=0)
{
g.setColor(Color.black);
g.fillRect(-d.width/5,0,d.width*10,balkA);
g.fillRect(-d.width/5,balkB,d.width*10,d.height/5);
balkA--;
balkB++;
sleep(10);
}
}
2 schwarze balken von oben und von unten auftauchen lassen, dies klappt alles ohne flimmern, aber wenn diese balken dann von oben und und unten wieder weg sollen, dann flimmert es entweder, oder man sieht die balken die ganze zeit, warum?
hier der Constructor der Klasse, das Panel ist ein Attribut der Klasse, und die Klasse erbt von JFrame:
Java:
//Constructor()
public Level_1()
{
setSize(d);
setTitle("SouthPark-TheGame");
setUndecorated(true);
setLayout(new BorderLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
main = new JPanel()
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
paintSky(g);
paintSnow(g);
g.translate(-Pos_x, 0);
paintStreet(g);
paintPath(g);
g.translate(Pos_x,0);
g.setColor(Color.blue);
g.drawImage(img,d.width/2,Pos_y,image_x,100,this);
}
};
add(main,"Center");
setVisible(true);
init();
film();
addKeyListener(this);
}
Ich will:
Dass die balken erscheinen
wieder
verschwinden
und dann der keylistener geadded wird,
Es geschieht:
das auf tauchen der Balken
das verschwinden gar nicht,
wenn man eine taste nach 10 sekunden drückt, weiß man, dass der Keylistener schon längst geadded wurde,
und erst dann sind die balken ganz weg, und verschwinden nicht stückweise, wie es geplant ist,
kann mir einer helfen, danke für all eure HIlfe, Developer_X