title: drawing your own buffered image on frame
body: <p>I have a buffered image with the sizes of my frame:</p>
  <pre><code>public BufferedImage img;
  public static int WIDTH = 800;
  public static int HEIGHT = 600;
  img=new BufferedImage(WIDTH, HEIGHT,BufferedImage.TYPE_INT_RGB);
  </code></pre>
  <p>How can I draw it so I can see just a black image filling the frame? without using Canvas</p>
  <p>I want to use only the drawImage function from graphics without using the paint or paintComponent functions</p>
  <p>If it is possible, how can i assign an 1D array [WIDTH*HEIGHT] to that image?</p>
  <p>SIMPLY: I want to create an image ,convert the values from an array to pixels (0=black,999999999=lightblue etc.) and draw it to the screen.</p>
  <p><strong>EDIT:</strong></p>
  <p>This is the code that does not work as expected (it should be a frame with a black drawn  image on it) but is just a blank frame.Why the image is not added tot the frame?</p>
  <p><img src="https://i.stack.imgur.com/g2gr3.jpg" alt="enter image description here" /></p>
  <pre><code>  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(&quot;WINDOW&quot;);
          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 &lt; WIDTH * HEIGHT; i++)
              pixels[i] = 0;
          
          Graphics g= bs.getDrawGraphics();
          g.drawImage(img, 0, 0, WIDTH, HEIGHT, null);
          g.dispose();
          bs.show();
          
      }
  }}
  </code></pre>