Páginas
Download J Planet
Downloads Java
Fórum
Canal do YouTube
Página no Face
quinta-feira, 3 de janeiro de 2013
Redimensionar Imagem com JSlider
-->
Este programa mostra como usar um JSlider para ampliar ou reduzir uma imagem.
ImagemComJSliderPanel.java
// ImagemComJSliderPanel.java /* * Criado em 5 de outubro de 2010, 20:15:36 * */ package redimensionandoImagem; import java.awt.Graphics; import javax.swing.ImageIcon; import javax.swing.JPanel; /** * * @author Andréia */ public class ImagemComJSliderPanel extends JPanel { private ImageIcon image; private int tamanho = 100; // tamanho padrao de 100 // desenha uma imagem @Override public void paintComponent( Graphics g ) { super.paintComponent( g ); image = new ImageIcon( getClass().getResource( "javadog_jplanet.png" ) ); g.drawImage( image.getImage(), 0, 0, tamanho, tamanho, this ); // desenha uma imagem } // fim do metodo paintComponent // valida e configura o tamanho e entao repinta public void setTamanho( int tam ) { // se tamanho invalido, assume o padrao de 10 tamanho = ( tam >= 0 ? tam : 100 ); repaint(); // repinta o painel } // fim do metodo setTamanho } // fim da classe ImagemComJSliderPanel
ImagemComJSlider.java
// ImagemComJSlider.java /* * Criado em 5 de outubro de 2010, 20:15:36 * */ package redimensionandoImagem; import java.awt.BorderLayout; import java.awt.Color; import javax.swing.JFrame; import javax.swing.JSlider; import javax.swing.SwingConstants; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; /** * * @author Andréia */ public class ImagemComJSlider extends JFrame { private JSlider sliderTamanho; // controle deslizante para selecionar o tamanho private ImagemComJSliderPanel panelImagem; // painel para desenhar uma imagem // construtor sem argumento public ImagemComJSlider() { super( "Imagem com JSlider" ); panelImagem = new ImagemComJSliderPanel(); // cria o painel para desenhar uma imagem panelImagem.setBackground( Color.WHITE ); // configura o fundo como white // configura o JSlider para controlar o tamanho sliderTamanho = new JSlider( SwingConstants.HORIZONTAL, 100, 900, 100 ); // 100 - menor valor; 900 - maior valor e 100 - intervalo sliderTamanho.setMajorTickSpacing( 100 ); // cria uma marca de medida a cada 100 sliderTamanho.setPaintLabels( true ); // insere label com os numeros das marcacoes sliderTamanho.setPaintTicks( true ); // pinta as marcas de medida no controle deslizante // registra o ouvinte de evento do JSlider sliderTamanho.addChangeListener( new ChangeListener() // classe interna anonima { // trata da alteracao de valor do controle deslizante public void stateChanged( ChangeEvent e ) { panelImagem.setTamanho( sliderTamanho.getValue() ); } // fim do metodo stateChanged } // fim da classe interna anonima ); // fim da chamada a addChangeListener add( sliderTamanho, BorderLayout.SOUTH ); // adiciona um controle deslizante ao quadro add( panelImagem, BorderLayout.CENTER ); // adiciona painel ao frame } // fim do construtor de SliderFrame public static void main( String args[] ) { ImagemComJSlider sliderFrame = new ImagemComJSlider(); sliderFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); // sliderFrame.setUndecorated(true); sliderFrame.setSize( 470, 500); // configura o tamanho do frame sliderFrame.setVisible( true ); // exibe o frame } // fim de main } // fim da classe ImagemComJSlider
Nenhum comentário:
Postar um comentário
Postagem mais recente
Postagem mais antiga
Página inicial
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário