somma
Outubro 4, 2007, 12:32pm
#1
Pessoal estou procurando desde ontem algum exemplo de como eu coloco uma imagem de fundo utilizando Graphics???
Este é o código que eu fiz… mas não sei quais parametros eu passo para colocar uma imagem ???
[code]
public void paint(Graphics g){
super.paint(g);
// for(int i=0;i<=8;i++){
//g.drawLine(50*i+10,40,50*i+10,440);
//g.drawLine(10,50*i+40,410,50*i+40);
// }
g.drawImage("",0,0,null);
ultimaRainha.paint(g);
}
[code]
Pode me passar tutoriais que tiver é claro!!!
Obrigado
Vamos começar do começo.
No Swing, Você não deve sobrescrever o método paint, e sim, paintComponent.
Você não deve usar o objeto Graphics diretamente. Deve criar uma cópia dele. Use o método create() do Graphics para isso e no final do método o método dispose() para liberar a cópia;
Para colocar uma imagem de fundo, é necessário carrega-la através do método ImageIO.read().
Sugestão, baixe a classe JImagePanel do link abaixo e veja como está implementada.
http://www.guj.com.br/posts/list/56248.java#295271
Quanto aos tutoriais recomendo os seguintes:
http://java.sun.com/products/jfc/tsc/articles/painting/index.html#swing
http://java.sun.com/j2se/1.5.0/docs/guide/2d/spec/j2d-bookTOC.html
http://fivedots.coe.psu.ac.th/~ad/jg/
hugov
Outubro 4, 2007, 2:10pm
#3
[code]
/**
*
*/
package imagem;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
/**
*/
public class VisualizarImagem {
private JFrame frame;
private JLabel marca;
private Icon iconImagemMarcada;
public VisualizarImagem() {
frame = new JFrame();
iconImagemMarcada = new ImagemMarcada();
marca = new JLabel(iconImagemMarcada);
}
public void montarTela() {
frame.setSize(800, 600);
frame.add(marca);
frame.setVisible(true);
}
public static void main(String[] args) {
VisualizarImagem visualizar = new VisualizarImagem();
visualizar.montarTela();
}
}
class ImagemMarcada implements Icon {
private int width = 15;
private int height = 15;
private ImageIcon icone = new ImageIcon("C:\Documents and Settings\ssilva\Desktop\foto.jpg");
public void paintIcon(Component c, Graphics g, int x, int y) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.drawImage(icone.getImage(), 380, 270 ,null);
g2d.setColor(Color.WHITE);
g2d.fillRect(x + 1, y + 1, width - 2, height - 2);
g2d.setColor(Color.BLACK);
g2d.drawRect(x + 1, y + 1, width - 2, height - 2);
g2d.setColor(Color.RED);
g2d.drawLine(x + 10, y + 10, x + width - 10, y + height - 10);
g2d.drawLine(x + 10, y + height - 10, x + width - 10, y + 10);
g2d.dispose();
}
public int getIconHeight() {
return height;
}
public int getIconWidth() {
return width;
}
}[/code]
Eu utilizei o seguinte site pra fazer esse exemplo :
http://java.sun.com/javase/6/docs/api/
http://java.sun.com/docs/books/tutorial/uiswing/components/icon.html