нанесение собственного буферизованного изображения на рамку

У меня есть буферизованное изображение с размерами моей рамки:

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

Как я могу нарисовать это так, чтобы я мог видеть только черное изображение, заполняющее рамку? без использования холста

Я хочу использовать только функцию drawImage из графики без использования функций paint или paintComponent

Если это возможно, как я могу назначить 1D массив [WIDTH * HEIGHT] для этого изображения?

ПРОСТО: Я хочу создать изображение, преобразовать значения из массива в пиксели (0 = черный, 999999999 = светло-синий и т. Д.) И нарисовать его на экране.

EDIT:

Это код, который не работает должным образом (это должен быть кадр с черным нарисованным изображением на нем), но это просто пустая рамка. Почему изображение не добавляется в кадр?

enter image description here

  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();

    }
}}

Ответы на вопрос(1)

Ваш ответ на вопрос