Source Code : Image Panel

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

Image Panel

      
//package mw.client.utils.gui;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JViewport;

@SuppressWarnings("serial")
public class ImagePanel extends JPanel {
  public static final int TILED = 0;
  public static final int SCALED = 1;
  public static final int ACTUAL = 2;

  private BufferedImage image;
  private int style;
  private float alignmentX = 0.5f;
  private float alignmentY = 0.5f;

  public ImagePanel(BufferedImage image) {
    this(image, TILED);
  }

  public ImagePanel(BufferedImage image, int style) {
    this.image = image;
    this.style = style;
    setLayout(new BorderLayout());
  }

  public void setImageAlignmentX(float alignmentX) {
    this.alignmentX = alignmentX > 1.0f ? 1.0f : alignmentX < 0.0f ? 0.0f
        : alignmentX;
  }

  public void setImageAlignmentY(float alignmentY) {
    this.alignmentY = alignmentY > 1.0f ? 1.0f : alignmentY < 0.0f ? 0.0f
        : alignmentY;

  }

  public void add(JComponent component) {
    add(component, null);
  }

  public void add(JComponent component, Object constraints) {
    component.setOpaque(false);

    if (component instanceof JScrollPane) {
      JScrollPane scrollPane = (JScrollPane) component;
      JViewport viewport = scrollPane.getViewport();
      viewport.setOpaque(false);
      Component c = viewport.getView();

      if (c instanceof JComponent) {
        ((JComponent) c).setOpaque(false);
      }
    }

    super.add(component, constraints);
  }

  protected void paintComponent(Graphics g) {
    super.paintComponent(g);

    if (image == null)
      return;

    switch (style) {
    case TILED:
      drawTiled(g);
      break;

    case SCALED:
      Dimension d = getSize();
      g.drawImage(image, 0, 0, d.width, d.height, null);
      break;

    case ACTUAL:
      drawActual(g);
      break;
    }
  }

  private void drawTiled(Graphics g) {
    Dimension d = getSize();
    int width = image.getWidth(null);
    int height = image.getHeight(null);

    for (int x = 0; x < d.width; x += width) {
      for (int y = 0; y < d.height; y += height) {
        g.drawImage(image, x, y, null, null);
      }
    }
  }

  private void drawActual(Graphics g) {
    Dimension d = getSize();
    float x = (d.width - image.getWidth()) * alignmentX;
    float y = (d.height - image.getHeight()) * alignmentY;
    g.drawImage(image, (int) x, (int) y, this);
  }

  public static void main(String[] args) throws Exception {
    BufferedImage image = javax.imageio.ImageIO.read(new java.io.File(
        "wood3.jpg"));

    //
    // ImagePanel north = new ImagePanel(image, ImagePanel.TILED);
    ImagePanel north = new ImagePanel(image, ImagePanel.ACTUAL);
    north.setImageAlignmentY(1.0f);
    JTextArea text = new JTextArea(5, 40);
    JScrollPane scrollPane = new JScrollPane(text);
    north.add(scrollPane);
    //
    ImagePanel south = new ImagePanel(image, ImagePanel.SCALED);
    JPanel buttons = new JPanel();
    buttons.add(new JButton("One"));
    buttons.add(new JButton("Two"));
    JPanel boxes = new JPanel();
    JCheckBox j = new JCheckBox("One");
    j.setOpaque(false);
    boxes.add(j);
    boxes.add(new JCheckBox("Two"));
    south.add(buttons, BorderLayout.NORTH);
    south.add(boxes, BorderLayout.SOUTH);
    //
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add(north, BorderLayout.NORTH);
    frame.getContentPane().add(south, BorderLayout.SOUTH);
    frame.pack();
    frame.setVisible(true);
  }
}

   
    
    
    
    
    
  

Thank with us