Illegal State Exception when creating new Bufferstrategy

前端 未结 3 663
陌清茗
陌清茗 2020-12-03 22:35

When I am trying to figure out how to use bufferstrategies, and overall just improving how I write my code and cleaning things up. When I run the following code, I get an er

相关标签:
3条回答
  • 2020-12-03 23:20

    In my experience with this error and with the code you writing you missing a frame function.

    Add where your frames are (ex: frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);) and add the function frame.add(game);

    In this example, mine is Display game = new Display(); but depending on what your variable for the new display is, it might vary.

    0 讨论(0)
  • 2020-12-03 23:23

    I had exactly the same exception, but i found out that it was because my JFrame visibility was accidentally set to false.

    so puting in setVisible(true); fixed it.

    0 讨论(0)
  • 2020-12-03 23:35

    Taking a look at the API, this exception is thrown if the component is not displayable. In this case, that's when Canvas.peer is null. Taking a look at the peer field reveals that

    The peer is set when the Component is added to a container that also is a peer

    Since you are starting the update thread from your component's constructor, render could be called before your component is ever added to another container which would mean the peer is null, and then an IllegalStateException would be thrown.

    0 讨论(0)
提交回复
热议问题