Hei!
Mulla tuli tälläinen virhe ilmoitus:
Exception in thread "Display" java.lang.IllegalStateException: Component must have a valid peer
at java.awt.Component$FlipBufferStrategy.createBuffers(Unknown Source)
at java.awt.Component$FlipBufferStrategy.(Unknown Source)
at java.awt.Component$FlipSubRegionBufferStrategy.(Unknown Source)
at java.awt.Component.createBufferStrategy(Unknown Source)
at java.awt.Canvas.createBufferStrategy(Unknown Source)
at java.awt.Component.createBufferStrategy(Unknown Source)
at java.awt.Canvas.createBufferStrategy(Unknown Source)
at dragonEscape.Level1.render(Level1.java:37)
at dragonEscape.Level1.run(Level1.java:154)
at java.lang.Thread.run(Unknown Source)
Mun Level1 Classin sisältö:
package dragonEscape;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.image.BufferStrategy;
import java.awt.image.ImageObserver;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class Level1 extends Canvas implements Runnable {
static GameLoop gl = new GameLoop();
public static int x = gl.getX();
public static int y = gl.getY();
public static boolean jumpping = gl.jumpping;
public static boolean falling = true;
public static double forward = 1;
public Image MetalBlock = new ImageIcon(this.getClass().getResource("MetalBlock.png")).getImage();
public Image Charracter = new ImageIcon(this.getClass().getResource("Poro.png")).getImage();
public void update() {
System.out.println("Leveys: " x " Korkeus: " y);
}
public void render() {
BufferStrategy bs = getBufferStrategy();
if(bs == null) {
createBufferStrategy(3);
return;
}
Graphics g = bs.getDrawGraphics();
Color bgcolor = new Color(169,169,169);
g.setColor(bgcolor);
g.fillRect(0, 0, 1000, 1000);
g.drawImage(MetalBlock, -5, 430, this);
g.drawImage(MetalBlock, -5, 376, this);
g.drawImage(MetalBlock, -5, 322, this);
g.drawImage(MetalBlock, -5, 430, this);
g.drawImage(MetalBlock, -5, 430, this);
g.drawImage(MetalBlock, -5, 430, this);
g.drawImage(MetalBlock, 43, 268, this);
g.drawImage(MetalBlock, 91, 268, this);
g.drawImage(MetalBlock, 139, 268, this);
g.drawImage(MetalBlock, 187, 268, this);
g.drawImage(MetalBlock, 235, 268, this);
g.drawImage(MetalBlock, 283, 268, this);
g.drawImage(MetalBlock, 331, 268, this);
g.drawImage(MetalBlock, 379, 268, this);
g.drawImage(MetalBlock, 427, 268, this);
g.drawImage(MetalBlock, 475, 268, this);
g.drawImage(MetalBlock, 523, 268, this);
g.drawImage(MetalBlock, 571, 268, this);
g.drawImage(MetalBlock, 619, 268, this);
g.drawImage(MetalBlock, 715, 268, this);
g.drawImage(MetalBlock, -5, 268, this);
g.drawImage(MetalBlock, 43, 430,
this);
g.drawImage(MetalBlock, 91, 430, this);
g.drawImage(MetalBlock, 139, 430, this);
g.drawImage(MetalBlock, 139, 376, this);
g.drawImage(MetalBlock, 187, 430, this);
g.drawImage(MetalBlock, 235, 430, this);
g.drawImage(MetalBlock, 283, 430, this);
g.drawImage(MetalBlock, 331, 430, this);
g.drawImage(MetalBlock, 379, 430, this);
g.drawImage(MetalBlock, 427, 430, this);
g.drawImage(MetalBlock, 475, 430, this);
g.drawImage(MetalBlock, 523, 430, this);
g.drawImage(MetalBlock, 571, 430, this);
g.drawImage(MetalBlock, 619, 430, this);
g.drawImage(MetalBlock, 715, 430, this);
g.drawImage(MetalBlock, 763, 430, this);
g.drawImage(MetalBlock, 811, 430, this);
g.drawImage(MetalBlock, 811, 52, this);
g.drawImage(MetalBlock, 811, -2, this);
g.drawImage(MetalBlock, 859, 160,this);
g.drawImage(MetalBlock, 859, 106, this);
g.drawImage(Charracter, x, y, this);
g.dispose();
repaint();
bs.show();
}
public static int width = 916;
public static int height = 487;
public static int scale = 3;
private Thread thread;
private JFrame frame;
private boolean running = false;
public synchronized void start() {
running = true;
thread = new Thread(this, "Display");
thread.start();
}
public synchronized void stop() {
running = false;
try
{
thread.join();
}catch (InterruptedException e) {
e.printStackTrace();
}
}
public void run() {
while (running){
update();
render();
jump();
fall();
}
}
}
Kiitos jos voitte auttaa :) Kumitin tosta jotain turhaa koska kaikki ei mahu!
Component must have a valid peer
PuhuvatBanaanit
2
264
Vastaukset 2
- foobarfoo
internertti ehdottelee että tuo poikkeus lentää tästä getBufferStrategy(), kun et ole asettanut mitään komponenttia näkyväksi (setVisible(true)).
- foobarfoo 2
Ja poista nuo rivit, unohdin
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Herkkyydestä
Toisessa ketjussa toivottiin keskustelua herkkyydestä. Aloitan omalla näkemykselläni. Mielestäni herkät ihmiset ovat l267868- 67665
Arvaako kukaan?
"Humalojalla metalliromun keräyspaikalla on kulkenut pitkin kevättä ja kesää joku henkilö, joka on vienyt sieltä kymmeni44645Tuntuu pahalta meidän molempien puolesta
Anteeksi, että olen tällainen pelkuri. En vaan usko rakkauteen enää miehen ja naisen välillä omalla kohdalla. Tiedän, et34558- 51497
Olen kiinnostunut sinusta, en seksistä
Vihjailuja toiseen suuntaan on tullut niin paljon, että asia on korjattava. En näe sinua esineenä, vaan hienona persoona30450- 30444
En pyytele enää koskaan anteeksi mitään sinulta
Olet ollut kohtuuttoman kylmä ja tyly tilanteeseen nähden.45437- 38436
- 45427