Sobrepor imagens [RESOLVIDO]

4 respostas
L

Olá,

Estou fazendo um jogo de truco online e estou com um “probleminha”… o jogo possui um fundo, que nada mais é uma imagem jpg carregada em um JLabel. O problema é colocar as cartas sobre esse fundo… teria como sobrepor a imagem da carta? Se alguém puder mostrar um exemplo de como fazer isso vai ajudar muito :wink:.

4 Respostas

_

Pelo que entendo seria interessante que esta imagem de fundo tivesse o comportamento de uma watermark. Adaptei o código do livro Swing Hacks:

public static void main( String[] args ) throws Exception
{
	JFrame frame = new JFrame();
	JPanel panel = new JPanel( new FlowLayout() )
	{
		private BufferedImage image = ImageIO.read( new File(
				"caminho/para/a/imagem" ) );
		private Paint texture = new TexturePaint( image, new Rectangle(
				image.getWidth(), image.getHeight() ) );

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

			Graphics2D g2 = ( Graphics2D ) g;
			g2.setPaint( texture );
			g.fillRect( 0, 0, getWidth(), getHeight() );
		}
	};
	panel.add( new JLabel( "test" ) );
	panel.add( new JButton( "..." ) );

	frame.add( panel );
	frame.setSize( 400, 400 );
	frame.setLocationRelativeTo( null );
	frame.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
	frame.setVisible( true );
}

Como pode ver, o código sobrescreve o método JPanel.paintComponent( Graphics g ), adicionando código que pinta a imagem de fundo também.

O ideal seria criar uma classe específica para isso, algo como WaterMarkPanel que estende JPanel, mas aí é com você.

L

Lipe, obrigado pela resposta. Usando a idéia que vc passou cosegui sobrepor as imagens :D. Mas como estou começando agora com Java, resolvi remover a imagem de fundo pra facilitar minha vida :wink:. Se eu mantiver essa imagem no fundo vou ter uma série de problemas… mas valeu a ajuda.

Sobre esse livro que vc citou “Swing Hacks”, ele é bom para aprender construir interfaces? Sou péssimo para modelar interfaces…

G

Luizao:
Lipe, obrigado pela resposta. Usando a idéia que vc passou cosegui sobrepor as imagens :D. Mas como estou começando agora com Java, resolvi remover a imagem de fundo pra facilitar minha vida :wink:. Se eu mantiver essa imagem no fundo vou ter uma série de problemas… mas valeu a ajuda.

Sobre esse livro que vc citou “Swing Hacks”, ele é bom para aprender construir interfaces? Sou péssimo para modelar interfaces…

Esse livro é muito bom, usei os conceitos de imagem dele para um programa chat que estou desenvolvendo, mas tive alguns problemas tb.

Agora se o cara é iniciante em swing é melhor nem tocar nesse livro.

L

Sim sou iniciante… vc poderia me indicar algum livro que explique de maneira bem clara o assunto?

Criado 17 de maio de 2006
Ultima resposta 19 de mai. de 2006
Respostas 4
Participantes 3