I have (what I thought was) a straightforward BufferStrategy for a JFrame. It is created like so:
// Buffer
container.createBufferStrategy(2);
The frame needs to be displayable when you call createBufferStrategy
. Also as camickr has pointed out you need to call it from the EDT.
One way to ensure this is to extend JFrame
and override addNotify
:
class MyFrame extends JFrame {
public void addNotify() {
super.addNotify();
// Buffer
createBufferStrategy(2);
strategy = getBufferStrategy();
}
}