Tag: doublebuffered

在java8中重绘()和双缓冲,bug?

我一直在使用Java 8上的Swing中的动画,并且遇到了一些奇怪的行为:在某些其他不相关的组件上调用repaint()后,组件的内容有时会突然变得陈旧。 下面是代码,它为我重现了这种行为: import javax.swing.*; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseAdapter; public class Crosshair extends JPanel { private int currentMouseX = 0; private int currentMouseY = 0; public Crosshair() { addMouseMotionListener(new MouseAdapter() { @Override public void mouseMoved(MouseEvent e) { currentMouseX = e.getX(); currentMouseY = e.getY(); repaint(); } }); } @Override protected void paintComponent(Graphics g) { […]

Java面板双缓冲

想知道是否有人能指出我正确的指挥,我已经开发了一个乒乓球游戏,它需要双重缓冲由于闪烁。 我在这里尝试了一些post尝试使它工作,但我仍然是一个摇摆awt足够的初学者,任何帮助将是惊人的谢谢。 public class PongPanel extends JPanel implements Runnable { private int screenWidth = 500; private int screenHeight = 300; private boolean isPaused = false; private boolean isGameOver = false; private int playToPoints = 10; private Padel player1,player2; private Ball ball; private Thread gameThread; private Image dbImage; private Graphics dbg; public PongPanel() { setPreferredSize(new Dimension(screenWidth,screenHeight)); […]

Java双缓冲

我正在研究一个项目,我已经尽可能多地阅读了java中的双缓冲。 我想要做的是添加一个组件或面板或其他东西到我的JFrame,其中包含要绘制的双缓冲表面。 我希望尽可能使用硬件加速,否则使用常规软件渲染器。 到目前为止我的代码看起来像这样: public class JFrameGame extends Game { protected final JFrame frame; protected final GamePanel panel; protected Graphics2D g2; public class GamePanel extends JPanel { public GamePanel() { super(true); } @Override public void paintComponent(Graphics g) { g2 = (Graphics2D)g; g2.clearRect(0, 0, getWidth(), getHeight()); } } public JFrameGame() { super(); gameLoop = new FixedGameLoop(); […]