dibujando tu propia imagen en el marco

Tengo una imagen de búfer con los tamaños de mi marco:

public BufferedImage img;
public static int WIDTH = 800;
public static int HEIGHT = 600;
img=new BufferedImage(WIDTH, HEIGHT,BufferedImage.TYPE_INT_RGB);

¿Cómo puedo dibujarlo para poder ver solo una imagen negra que llena el marco? sin usar lienzo

Quiero usar solo la función drawImage de los gráficos sin usar las funciones paint o paintComponent

Si es posible, ¿cómo puedo asignar una matriz 1D [WIDTH * HEIGHT] a esa imagen?

SIMPLEMENTE: Quiero crear una imagen, convertir los valores de una matriz a píxeles (0 = negro, 999999999 = azul claro, etc.) y dibujarlos en la pantalla.

EDITAR:

Este es el código que no funciona como se esperaba (debería ser un marco con una imagen dibujada en negro) pero es solo un marco en blanco. ¿Por qué la imagen no se agrega al marco?

  import javax.swing.*;

  import java.awt.Canvas;
  import java.awt.Graphics;
  import java.awt.image.BufferStrategy;
  import java.awt.image.BufferedImage;
  import java.awt.image.DataBufferInt;

  public class test extends Canvas{

public static JFrame frame;
public static int WIDTH = 800;
public static int HEIGHT = 600;

public test(){

}

public static void main(String[] a){

        test t=new test();
        frame = new JFrame("WINDOW");
        frame.add(t);
        frame.pack();
        frame.setVisible(true);
        frame.setSize(WIDTH, HEIGHT);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        t.start();

}

public void start(){

    BufferedImage img = new BufferedImage(WIDTH, HEIGHT,BufferedImage.TYPE_INT_RGB);
    int[] pixels = ((DataBufferInt)img.getRaster().getDataBuffer()).getData();
    boolean running=true;
    while(running){
        BufferStrategy bs=this.getBufferStrategy();
        if(bs==null){
            createBufferStrategy(4);
            return;
        }
        for (int i = 0; i < WIDTH * HEIGHT; i++)
            pixels[i] = 0;

        Graphics g= bs.getDrawGraphics();
        g.drawImage(img, 0, 0, WIDTH, HEIGHT, null);
        g.dispose();
        bs.show();

    }
}}

Respuestas a la pregunta(1)

Su respuesta a la pregunta