rendered paste bodyimport java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import java.awt.Graphics;import java.awt.Image;import java.awt.Toolkit;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JSlider;import javax.swing.event.ChangeEvent;import javax.swing.event.ChangeListener;public class ScaleImageTest1 extends JFrame { private double scaleFactor = 1.0; private BufferedImage sourceImage; JPanel panel; JSlider slider; public Graphics g; public ScaleImageTest1() { super("ScaleImageTest"); setDefaultCloseOperation(DISPOSE_ON_CLOSE); try { sourceImage = ImageIO.read(new File("duke_skateboard.jpg")); } catch (IOException e) { e.printStackTrace(); } createPanel(); createSlider(); addComponents(); } public void createPanel(){ panel = new JPanel(){ public void paintComponent(Graphics g) { Dimension panelSize = getSize(); int width = panelSize.width; int height = panelSize.height; //g.setColor(Color.WHITE); g.fillRect(0, 0, width, height); //g.setColor(Color.BLACK); int imageWidth = (int) (sourceImage.getWidth() * scaleFactor); int imageHeight = (int) (sourceImage.getHeight() * scaleFactor); int imageX = width / 2 - imageWidth / 2; int imageY = height / 2 - imageHeight / 2; Image image = sourceImage.getScaledInstance( imageWidth, imageHeight, Image.SCALE_SMOOTH); g.drawImage(image, imageX, imageY, null); } }; } public void createSlider(){ slider = new JSlider(0, 200); slider.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { int value = slider.getValue(); if (value > 0) { scaleFactor = (double) value / 100.0; repaint(); } } }); } public void addComponents(){ getContentPane().add(panel, BorderLayout.CENTER); getContentPane().add(slider, BorderLayout.SOUTH); } public static void main(String[] args) { final JFrame frame = new ScaleImageTest1(); final Dimension frameSize = new Dimension(600, 400); frame.setSize(frameSize); Toolkit.getDefaultToolkit().getScreenSize(); frame.setVisible(true); } }