. It's made 100% by me with some light commenting where I felt like it.
Took some trial and error but I'm quite proud and plan to further this into something bigger. 
[FONT=Verdana]import javax.swing.*;[/FONT]
[FONT=Verdana]import java.awt.*;[/FONT]
[FONT=Verdana]import java.awt.event.*;[/FONT]
[FONT=Verdana]import java.awt.image.*;[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana]public class Game implements KeyListener {[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] // Frame/Panel Vars[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] public static int WIDTH = 640;[/FONT]
[FONT=Verdana] public static int HEIGHT = 480;[/FONT]
[FONT=Verdana] public static String TITLE = "TITLE";[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] public JFrame frame = new JFrame();[/FONT]
[FONT=Verdana] public JPanel screen = new JPanel();[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] private int num = 0;[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] // Buffered Image[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] public BufferedImage buffer = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] // Run Game[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] public Game() {[/FONT]
[FONT=Verdana] window();[/FONT]
[FONT=Verdana] while (true) {[/FONT]
[FONT=Verdana] try {[/FONT]
[FONT=Verdana] buffer();[/FONT]
[FONT=Verdana] buffer01();[/FONT]
[FONT=Verdana] System.out.println("Buffered/Ran " + num++ + " times");[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] Thread.sleep(30);[/FONT]
[FONT=Verdana] } catch (Exception e) {[/FONT]
[FONT=Verdana] e.printStackTrace();[/FONT]
[FONT=Verdana] System.out.println("ERROR");[/FONT]
[FONT=Verdana] }[/FONT]
[FONT=Verdana] }[/FONT]
[FONT=Verdana] }[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] // Buffer Graphics[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] private void buffer() {[/FONT]
[FONT=Verdana] Graphics2D b = buffer.createGraphics();[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] b.setColor(Color.DARK_GRAY);[/FONT]
[FONT=Verdana] b.fillRect(0, 0, WIDTH, HEIGHT);[/FONT]
[FONT=Verdana] b.dispose();[/FONT]
[FONT=Verdana] }[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] private void buffer01() {[/FONT]
[FONT=Verdana] Graphics2D g = (Graphics2D) screen.getGraphics();[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] g.drawImage(buffer, 0, 0, screen);[/FONT]
[FONT=Verdana] Toolkit.getDefaultToolkit().sync();[/FONT]
[FONT=Verdana] // g.dispose();[/FONT]
[FONT=Verdana] }[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] // Init Frame/Panel[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] public void window() {[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] frame.setTitle(TITLE);[/FONT]
[FONT=Verdana] frame.setSize(WIDTH, HEIGHT);[/FONT]
[FONT=Verdana] frame.setResizable(false);[/FONT]
[FONT=Verdana] frame.setVisible(true);[/FONT]
[FONT=Verdana] frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);[/FONT]
[FONT=Verdana] frame.getContentPane().add(screen);[/FONT]
[FONT=Verdana] frame.setLocationRelativeTo(null);[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] screen.setIgnoreRepaint(true);[/FONT]
[FONT=Verdana] screen.addKeyListener(this);[/FONT]
[FONT=Verdana] screen.setFocusable(true);[/FONT]
[FONT=Verdana] }[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] // Main. Duh[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] public static void main(String[] args) {[/FONT]
[FONT=Verdana] new Game();[/FONT]
[FONT=Verdana] }[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] // KeyEvent's[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] public void keyTyped(KeyEvent e) {[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] }[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] public void keyPressed(KeyEvent e) {[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] }[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] public void keyReleased(KeyEvent e) {[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana] }[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana]}[/FONT]
Copyright © 2026, NextGenUpdate.
All Rights Reserved.