Source Code : A simple frame that allows quick and easy visualisation of something

Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com. Click Here or search from google with Libraries Name you get jar file related it

A simple frame that allows quick and easy visualisation of something

        

//package com.ryanm.util.swing;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;

import javax.swing.JComponent;
import javax.swing.JFrame;

/**
 * A simple frame that allows quick and easy visualisation of
 * something
 * 
 * @author ryanm
 */
public class DebugFrame extends JFrame
{
  private DebugPanel panel;

  /**
   * Creates a new Debug frame
   * 
   * @param name
   *           The name for the frame
   * @param x
   *           The width
   * @param y
   *           The height
   */
  public DebugFrame( String name, int x, int y )
  {
    setTitle( "Debug Frame : " + name );

    panel = new DebugPanel( x, y );

    getContentPane().add( panel );

    clear();

    pack();
    setVisible( true );
  }

  /**
   * Creates a new Debug frame
   * 
   * @param x
   *           The width
   * @param y
   *           The height
   */
  public DebugFrame( int x, int y )
  {
    setTitle( "Debug Frame" );

    panel = new DebugPanel( x, y );

    getContentPane().add( panel );

    clear();

    pack();
    setVisible( true );
  }

  /**
   * Gets the graphics for the backing image. Stuff drawn on this
   * context can only be cleared with a call to clear()
   * 
   * @return A {@link Graphics2D} object
   */
  public Graphics2D getDebugGraphics()
  {
    Graphics2D g = panel.buff.createGraphics();
    return g;
  }

  /**
   * Gets the graphics for the frame itself. Stuff drawn to this
   * context will be cleared when refresh() is called
   * 
   * @return A {@link Graphics2D} object
   */
  public Graphics2D getTempDebugGraphics()
  {
    Graphics2D g = ( Graphics2D ) panel.getGraphics();
    return g;
  }

  /**
   * Refreshes the frame by drawing the contents of the back buffer
   */
  public void refresh()
  {
    panel.paint( panel.getGraphics() );
  }

  /**
   * Clears the back buffer
   */
  public void clear()
  {
    Graphics g = panel.buff.getGraphics();

    g.setColor( Color.white );
    g.fillRect( 0, 0, panel.getWidth(), panel.getHeight() );
  }

  private class DebugPanel extends JComponent
  {
    private int x, y;

    private BufferedImage buff;

    private DebugPanel( int x, int y )
    {
      this.x = x;
      this.y = y;
      buff = new BufferedImage( x, y, BufferedImage.TYPE_INT_ARGB );
    }

    @Override
    public void paint( Graphics g )
    {
      g.drawImage( buff, 0, 0, this );
    }

    @Override
    public int getWidth()
    {
      return x;
    }

    @Override
    public int getHeight()
    {
      return y;
    }

    @Override
    public Dimension getPreferredSize()
    {
      return new Dimension( x, y );
    }
  }
}

   
    
    
    
    
    
    
    
  

Thank with us