Ich habe ein Problem, wo mein JFrame ständig weiß und schwarz blinkt, aber ich stelle nur die Farbe auf schwarz. Ich denke, es hat etwas mit dem while (running) {} Bit zu tun.JFrame Bildschirm blinkt weiß und schwarz
Es wird nur für immer schwarz und schwarz, bis ich es schließe. Ich weiß wirklich nicht, was vor sich geht. Ich habe gerade angefangen, JFrame zu benutzen, also bin ich mir sicher, dass ich nur einen falschen Code eingegeben habe.
public class Game extends Canvas implements Runnable {
private static final long serialVersionUID = 1L;
public static int width = 300;
public static int height = width/16 * 9;
public static int scale = 3;
public static boolean running = false;
private Thread thread;
private JFrame frame;
public Game() {
Dimension window = new Dimension(width * scale, height * scale);
setPreferredSize(window);
frame = new JFrame();
}
public synchronized void start() {
running = true;
thread = new Thread(this, "Display");
thread.start();
}
public synchronized void stop() {
try {
running = false;
thread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public void run() {
while (running) {
render();
}
}
public void update() {
}
public void render() {
BufferStrategy buffer = getBufferStrategy();
if (buffer == null) {
createBufferStrategy(3);
return;
}
Graphics g = buffer.getDrawGraphics();
g.setColor(Color.BLACK);
g.drawRect(0, 0, getWidth(), getHeight());
g.dispose();
buffer.show();
}
public static void main(String[] args) {
Game game = new Game();
game.frame.setResizable(false);
game.frame.setTitle("Game");
game.frame.add(game);
game.frame.pack();
game.frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
game.frame.setLocationRelativeTo(null);
game.frame.setVisible(true);
game.start();
}
}
Bitte geben Sie Ihren Code hier ein. Ich weiß, dass es in der Verbindung ist, aber sie sind die Regeln. – byxor
@byxor es sagt mein Beitrag ist hauptsächlich Code, also kann ich das nicht tun ... – GoldShovel
Ja, es gibt ein Ding namens [MCVE] (http://Stackoverflow.com/help/mcve), das Sie versuchen sollten, zu liefern . Diese "Do not spam code" -Regel hilft, die Qualität von Fragen zu verbessern. – byxor