[Resolvido] Exportar projeto

25 respostas
Z

Boa tarde, pessoal estou quase terminando meu projeto e gostaria de testa-lo em outro pc, mas quando eu crio um arquivo jar executavel nenhuma das imagens aparecem em outro pc
como faço para que isso funcione? para que todas as imagens tambem apareçam em qualquer maquina?
Agradeço a quem puder ajudar.

25 Respostas

L

Ziru:
Boa tarde, pessoal estou quase terminando meu projeto e gostaria de testa-lo em outro pc, mas quando eu crio um arquivo jar executavel nenhuma das imagens aparecem em outro pc
como faço para que isso funcione? para que todas as imagens tambem apareçam em qualquer maquina?
Agradeço a quem puder ajudar.

Oi,

As imagens estão em projetos paralelos? Exemplo: Projeto Imagem e Projeto Principal ? Ou todas as imagens e suas referencias estão dentro do Projeto Principal?

Certifique-se que na criação do seu JAR as imagens estão acopladas juntas.

Tchauzin!

Z

Não entendi sua pergunta, mas estou colocando as imagens assim.

Icon icon = new ImageIcon("C:\\Documents and Settings\\Vendas\\Desktop\\JavaLogo.png");

Tá errado?

Z

Alguém pode me dar essa força? por favor…

O

olá Ziru,
como a Lina disse, a imagem precisa estar dentro de uma pasta do seu projeto. Por exemplo, seu projeto esta na pasta “Meu Projeto”. Lá tem várias pastas, a “src” por exemplo. e dentro dela há outras e uma delas contem a sua classe “Main”. Cria uma pasta dentro da pasta src 9se vc estiver no eclipse, cria um package (ex.“imagens”) dentro da sua pasta “src”. Nesse package, coloca as imagens.
Seu código deve ficar assim:

Icon icon = new ImageIcon("imagens/JavaLogo.png");

dessa forma, vc estará passando o caminho relativo de sua imagem, além de ao gerar o jar, ela ir junto. Há duas coisas: uma que a imagem tem que ir junto no jar, daí vc garante pelo local aonde vc a colocou. a segunda coisa é colocar o path relativo, para que funcione em todas as máquinas.
espero ter te ajudado.

Z

ode-to-joy:
olá Ziru,
como a Lina disse, a imagem precisa estar dentro de uma pasta do seu projeto. Por exemplo, seu projeto esta na pasta “Meu Projeto”. Lá tem várias pastas, a “src” por exemplo. e dentro dela há outras e uma delas contem a sua classe “Main”. Cria uma pasta dentro da pasta src 9se vc estiver no eclipse, cria um package (ex.“imagens”) dentro da sua pasta “src”. Nesse package, coloca as imagens.
Seu código deve ficar assim:

Icon icon = new ImageIcon("imagens/JavaLogo.png");

dessa forma, vc estará passando o caminho relativo de sua imagem, além de ao gerar o jar, ela ir junto. Há duas coisas: uma que a imagem tem que ir junto no jar, daí vc garante pelo local aonde vc a colocou. a segunda coisa é colocar o path relativo, para que funcione em todas as máquinas.
espero ter te ajudado.

Não sei o que está acontecendo, mas fiz como vc falou e não aparece a imagem.
segue meu codgo.

janela.setIconImage(new ImageIcon("imagens/iconsuper.png").getImage()); // Muda o Icone da janela. janela.setResizable(false); // Desabilita o maximizar da janela

veja que criei o package como vc pediu.

E
janela.setIconImage(new ImageIcon(getClass().getResource("/imagens/iconsuper.png")).getImage());
O

olá Ziru, faltou uma barra"", desculpe, falha minha.
Mas a implementação do Erico é melhor.

Z

Eu havia posto assim para ver se funcionava e funcionou.

janela.setIconImage(new ImageIcon("src/imagens/iconsuper.png").getImage()); // Muda o Icone da janela. janela.setResizable(false); // Desabilita o maximizar da janela

Não sei se está certo, mas quando crio um Runnable JAR File as imagens não vai junto, existe outra forma de exportar o projeto? Uso o Eclipsy.

Z

Funcinou perfeitamente. Mas esse metodo só serve para referenciar icones? Tentei gerar um

BufferedImage imagem = ImageIO.read(new File("/imagens/fundMed.png"));

		PainelNort painelNorte = new PainelNort(imagem);
		painelNorte.setLayout(new BorderLayout());
		painelPrincipal.add(BorderLayout.NORTH, painelNorte);

Utilizando o método acima só que não funciona.
Li sobre o metodo

getClass().getResourceAsStream()

só que não consegui uza-lo. Alguém pode me ajudar com ele?

J

tente colocar as imagens em uma pasta img dentro da pasta lib de seu projeto.

J

Crie uma pasta chamada img dentre de sua pasta lib e coloque as imagem dentro dela.
Acho que isso deve resolver.

Z

Isso já foi resolvido, só que mesmo assim quando crio o jar file as imagens não tava indo junto.
estava referenciando elas de modo errado mesmo dentro do projeto,
precisa usar um

ImageIO.read(getClass().getResourceAsStream("/imagens/fundMed.png")).

Como faço aki

PainelNort painelNorte = new PainelNort(ImageIO.read(getClass().getResourceAsStream("/imagens/fundMed.png")));
		painelNorte.setLayout(new BorderLayout());
		painelPrincipal.add(BorderLayout.NORTH, painelNorte);

Só que agora esbarrei em outro problema é como fazer a imagem do JCheckBox ir junto tambem
meu codigo está assim

JCheckBox lan = new JCheckBox();
		String labell = "<html><table cellpadding=\"0\"><tr><td><img src=\"file:///C:/Users/ronildo/Desktop/Imagens C-IO/lanceiro.jpg\"></td><td width=\"3\"><td>Lanceiro</td></tr></table></html>";
		lan.setText(labell);
		painelLeves.add(lan);

Pode me ajudar?

E

Funcinou perfeitamente. Mas esse metodo só serve para referenciar icones? Tentei gerar um

BufferedImage imagem = ImageIO.read(new File("/imagens/fundMed.png"));

		PainelNort painelNorte = new PainelNort(imagem);
		painelNorte.setLayout(new BorderLayout());
		painelPrincipal.add(BorderLayout.NORTH, painelNorte);

Utilizando o método acima só que não funciona.
Li sobre o metodo

getClass().getResourceAsStream()

só que não consegui uza-lo. Alguém pode me ajudar com ele?
Você não pode usar um File para ler um arquivo de dentro do jar… a classe File vai procurar pelo arquivo em seu caminho absoluto (partindo do / ou do C da máquina)… Para isso você pode usar InputStream, como o método getResourceAsStream, que retorna um InputStream que vai ler o arquivo de dentro do jar

Z

Certo Erico
Isso foi arranjado, mas um porblema consiste aki

JCheckBox lan = new JCheckBox();  
        String labell = "<html><table cellpadding=\"0\"><tr><td><img src=\"file:///C:/Users/ronildo/Desktop/Imagens C-IO/lanceiro.jpg\"></td><td width=\"3\"><td>Lanceiro</td></tr></table></html>";  
        lan.setText(labell);  
        painelLeves.add(lan);

Como o html só consegue ler arquivos de fora do jar, como faço para construir esse JCheckBox com o efeito desse html? Ou não é possivel contruir um JCheckBox com uma imagem ao lado? não que essa imagem subistitua o quadrinho onde mostra marcado e desmarcado é só para acompanhar, do mesmo modo que o html está fazendo ai.

E

Ué, por que você não cria um JLabel do lado do JCheckBox?

Z

Bom dia erico beleza?
Então tentei esse metodo, mas surgiu outro problema.

E

Você disse neste tópico que conseguiu resolver… Não sei se você fez assim mas você não precisa de JPanel como vi no outro tópico… Use o setIcon do JLabel para setar um ícone pegando de dentro do seu jar e use o próprio texto do JLabel para a descrição… Você vai ter exatamente o mesmo efeito que vc postou nas imagens deste tópico

Z

E vc só me diz agora?kkkkkkkkkkkkk acabei de escrever a classe, 370 linhas.
Mas ta dando um problema que desconheço. Aki no Eclipsy tudo roda normalmente, mas quando eu crio o jar executavel, nada aparece.
Sabe o que pode ser?
Não tem nenhum exceção sendo lançada.

Z

Segue a minha classe inteira.

package Paineis;

import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.geom.Arc2D;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.BorderFactory;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JPanel;

@SuppressWarnings("serial")
public class PainelJCheckBox extends JPanel {

	private void painelLevesNomade(JPanel p) throws IOException {

		JPanel unidadesLeves = new JPanel();
		unidadesLeves.setLayout(new GridLayout(3, 2));
		String uniLev = "<html><b>Unidades Leves";
		unidadesLeves.setBorder(BorderFactory.createTitledBorder(null, uniLev,
				1, 2, null, Color.BLACK));

		JPanel lanceiro = new JPanel();
		lanceiro.setLayout(new GridBagLayout());
		GridBagConstraints bagLanc = new GridBagConstraints();
		bagLanc.fill = GridBagConstraints.BOTH;
		bagLanc.weighty = 0.5;

		JCheckBox boxLanceiro = new JCheckBox();
		lanceiro.add(boxLanceiro, bagLanc);
		JPanel imgLanceiro = new PainelIagem(ImageIO.read(getClass()
				.getResourceAsStream("/imagens/lanceiro.jpg")));
		bagLanc.weightx = 0.1;
		lanceiro.add(imgLanceiro, bagLanc);
		JLabel labelLanceiro = new JLabel("Lanceiros");
		lanceiro.add(labelLanceiro, bagLanc);
		unidadesLeves.add(lanceiro);

		JPanel pL = new JPanel();
		lanceiro.add(pL, bagLanc);

		JPanel espadachim = new JPanel();
		espadachim.setLayout(new GridBagLayout());
		GridBagConstraints bagEsp = new GridBagConstraints();
		bagEsp.fill = GridBagConstraints.BOTH;
		bagEsp.weighty = 0.5;

		JCheckBox boxEspadachim = new JCheckBox();
		espadachim.add(boxEspadachim, bagEsp);
		JPanel imgEspadaxim = new PainelIagem(ImageIO.read(getClass()
				.getResourceAsStream("/imagens/espadachim.jpg")));
		bagEsp.weightx = 0.1;
		espadachim.add(imgEspadaxim, bagEsp);
		JLabel labelEspadaxim = new JLabel("Espadaxins");
		espadachim.add(labelEspadaxim, bagEsp);
		unidadesLeves.add(espadachim);

		JPanel pE = new JPanel();
		espadachim.add(pE, bagEsp);

		JPanel arqueiro = new JPanel();
		arqueiro.setLayout(new GridBagLayout());
		GridBagConstraints bagArq = new GridBagConstraints();
		bagArq.fill = GridBagConstraints.BOTH;
		bagArq.weighty = 0.5;

		JCheckBox boxArqueio = new JCheckBox();
		arqueiro.add(boxArqueio, bagArq);
		JPanel imgArqueiro = new PainelIagem(ImageIO.read(getClass()
				.getResourceAsStream("/imagens/arqueiro.jpg")));
		bagArq.weightx = 0.1;
		arqueiro.add(imgArqueiro, bagArq);
		JLabel labelArqueiro = new JLabel("Arqueiros");
		arqueiro.add(labelArqueiro, bagArq);
		unidadesLeves.add(arqueiro);

		JPanel pA = new JPanel();
		arqueiro.add(pA, bagArq);

		JPanel cavaleiro = new JPanel();
		cavaleiro.setLayout(new GridBagLayout());
		GridBagConstraints bagCav = new GridBagConstraints();
		bagCav.fill = GridBagConstraints.BOTH;
		bagCav.weighty = 0.5;

		JCheckBox boxCavaleiro = new JCheckBox();
		cavaleiro.add(boxCavaleiro, bagCav);
		JPanel imgCavaleiro = new PainelIagem(ImageIO.read(getClass()
				.getResourceAsStream("/imagens/cavalaria.jpg")));
		bagCav.weightx = 0.1;
		cavaleiro.add(imgCavaleiro, bagCav);
		JLabel labelCavaleiro = new JLabel("Cavaleiros");
		cavaleiro.add(labelCavaleiro, bagCav);
		unidadesLeves.add(cavaleiro);

		JPanel pC = new JPanel();
		cavaleiro.add(pC, bagCav);

		JPanel arqCavaleiro = new JPanel();
		arqCavaleiro.setLayout(new GridBagLayout());
		GridBagConstraints bagArCava = new GridBagConstraints();
		bagArCava.fill = GridBagConstraints.BOTH;
		bagArCava.weighty = 0.5;

		JCheckBox boxArqCava = new JCheckBox();
		arqCavaleiro.add(boxArqCava, bagArCava);
		JPanel imgArqCava = new PainelIagem(ImageIO.read(getClass()
				.getResourceAsStream("/imagens/arqCavalaria.jpg")));
		bagArCava.weightx = 0.1;
		arqCavaleiro.add(imgArqCava, bagArCava);
		JLabel labelArqCav = new JLabel("Arqueiros a Cavalo");
		arqCavaleiro.add(labelArqCav, bagArCava);
		unidadesLeves.add(arqCavaleiro);

		p.add(unidadesLeves);
	}

	private void painelPesadosNomade(JPanel p) throws IOException {

		JPanel unidadesPesadas = new JPanel();
		unidadesPesadas.setLayout(new GridLayout(2, 2));
		String uniPes = "<html><b>Unidades Pesadas";
		unidadesPesadas.setBorder(BorderFactory.createTitledBorder(null,
				uniPes, 1, 2, null, Color.BLACK));

		JPanel lancPesa = new JPanel();
		lancPesa.setLayout(new GridBagLayout());
		GridBagConstraints bagLanPesa = new GridBagConstraints();
		bagLanPesa.fill = GridBagConstraints.BOTH;
		bagLanPesa.weighty = 0.5;

		JCheckBox boxLancPesa = new JCheckBox();
		lancPesa.add(boxLancPesa, bagLanPesa);
		JPanel imgLancPesa = new PainelIagem(ImageIO.read(getClass()
				.getResourceAsStream("/imagens/LanPesado.jpg")));
		bagLanPesa.weightx = 0.1;
		lancPesa.add(imgLancPesa, bagLanPesa);
		JLabel labelLancPesa = new JLabel("Lanceiros Pesados");
		lancPesa.add(labelLancPesa, bagLanPesa);

		unidadesPesadas.add(lancPesa);

		JPanel espadPesa = new JPanel();
		espadPesa.setLayout(new GridBagLayout());
		GridBagConstraints bagEspPesa = new GridBagConstraints();
		bagEspPesa.fill = GridBagConstraints.BOTH;
		bagEspPesa.weighty = 0.5;

		JCheckBox boxEspaPesa = new JCheckBox();
		espadPesa.add(boxEspaPesa, bagEspPesa);
		JPanel imgEspaPesa = new PainelIagem(ImageIO.read(getClass()
				.getResourceAsStream("/imagens/EspPesado.jpg")));
		bagEspPesa.weightx = 0.1;
		espadPesa.add(imgEspaPesa, bagEspPesa);
		JLabel labelEspaPesa = new JLabel("Espadaxins Pesados");
		espadPesa.add(labelEspaPesa, bagEspPesa);

		unidadesPesadas.add(espadPesa);

		JPanel arqPesa = new JPanel();
		arqPesa.setLayout(new GridBagLayout());
		GridBagConstraints bagArqPesa = new GridBagConstraints();
		bagArqPesa.fill = GridBagConstraints.BOTH;
		bagArqPesa.weighty = 0.5;

		JCheckBox boxArqPesa = new JCheckBox();
		arqPesa.add(boxArqPesa, bagArqPesa);
		JPanel imgArqPesa = new PainelIagem(ImageIO.read(getClass()
				.getResourceAsStream("/imagens/ArqPesado.jpg")));
		bagArqPesa.weightx = 0.1;
		arqPesa.add(imgArqPesa, bagArqPesa);
		JLabel labelArqPesa = new JLabel("Arqueiros Pesados");
		arqPesa.add(labelArqPesa, bagArqPesa);

		unidadesPesadas.add(arqPesa);

		JPanel cavPesa = new JPanel();
		cavPesa.setLayout(new GridBagLayout());
		GridBagConstraints bagCavPesa = new GridBagConstraints();
		bagCavPesa.fill = GridBagConstraints.BOTH;
		bagCavPesa.weighty = 0.5;

		JCheckBox boxCavPesa = new JCheckBox();
		cavPesa.add(boxCavPesa, bagCavPesa);
		JPanel imgCavPesa = new PainelIagem(ImageIO.read(getClass()
				.getResourceAsStream("/imagens/CavPesado.jpg")));
		bagCavPesa.weightx = 0.1;
		cavPesa.add(imgCavPesa, bagCavPesa);
		JLabel labelCavPesa = new JLabel("Cavaleiros Pesados");
		cavPesa.add(labelCavPesa, bagCavPesa);

		unidadesPesadas.add(cavPesa);

		p.add(unidadesPesadas);

	}

	private void painelEliteNomade(JPanel p) throws IOException {

		JPanel unidadesElite = new JPanel();
		unidadesElite.setLayout(new GridLayout(2, 2));
		String uniEli = "<html><b>Unidades de Elite";
		unidadesElite.setBorder(BorderFactory.createTitledBorder(null, uniEli,
				1, 2, null, Color.BLACK));

		JPanel p1 = new JPanel();
		JPanel arqElit = new JPanel();
		arqElit.setLayout(new GridBagLayout());
		GridBagConstraints bagArqElit = new GridBagConstraints();
		bagArqElit.fill = GridBagConstraints.BOTH;
		bagArqElit.weighty = 0.5;

		JCheckBox boxArqElit = new JCheckBox();
		arqElit.add(boxArqElit, bagArqElit);
		JPanel imgArqElit = new PainelIagem(ImageIO.read(getClass()
				.getResourceAsStream("/imagens/ArqElite.jpg")));
		bagArqElit.weightx = 0.1;
		arqElit.add(imgArqElit, bagArqElit);
		JLabel labelArqElit = new JLabel("Arqueiro Elite");
		arqElit.add(labelArqElit, bagArqElit);

		unidadesElite.add(arqElit);
		arqElit.add(p1, bagArqElit);

		JPanel cat = new JPanel();
		cat.setLayout(new GridBagLayout());
		GridBagConstraints bagCat = new GridBagConstraints();
		bagCat.fill = GridBagConstraints.BOTH;
		bagCat.weighty = 0.5;

		JCheckBox boxCat = new JCheckBox();
		cat.add(boxCat, bagCat);
		JPanel imgCat = new PainelIagem(ImageIO.read(getClass()
				.getResourceAsStream("/imagens/CavElite.jpg")));
		bagCat.weightx = 0.1;
		cat.add(imgCat, bagCat);
		JLabel labelCat = new JLabel("Catafractários");
		cat.add(labelCat, bagCat);

		JPanel p2 = new JPanel();
		cat.add(p2, bagCat);

		unidadesElite.add(cat);

		JPanel arqCat = new JPanel();
		arqCat.setLayout(new GridBagLayout());
		GridBagConstraints bagArqCat = new GridBagConstraints();
		bagArqCat.fill = GridBagConstraints.BOTH;
		bagArqCat.weighty = 0.5;

		JCheckBox boxArqCat = new JCheckBox();
		arqCat.add(boxArqCat, bagArqCat);
		JPanel imgArqCat = new PainelIagem(ImageIO.read(getClass()
				.getResourceAsStream("/imagens/ArqcavElite.jpg")));
		bagArqCat.weightx = 0.1;
		arqCat.add(imgArqCat, bagArqCat);
		JLabel labelArqCat = new JLabel("Arqueiros Catafractários");
		arqCat.add(labelArqCat, bagArqCat);

		unidadesElite.add(arqCat);

		p.add(unidadesElite);

	}

	private void painelCercoNomade(JPanel p) throws IOException {

		JPanel unidadesCerco = new JPanel();
		unidadesCerco.setLayout(new GridLayout(2, 2));
		String uniCer = "<html><b>Unidades de Cerco";
		unidadesCerco.setBorder(BorderFactory.createTitledBorder(null, uniCer,
				1, 2, null, Color.BLACK));

		JPanel ari = new JPanel();
		ari.setLayout(new GridBagLayout());
		GridBagConstraints bagAri = new GridBagConstraints();
		bagAri.fill = GridBagConstraints.BOTH;
		bagAri.weighty = 0.5;

		JCheckBox boxAri = new JCheckBox();
		ari.add(boxAri, bagAri);
		JPanel imgAri = new PainelIagem(ImageIO.read(getClass()
				.getResourceAsStream("/imagens/Ariete.jpg")));
		bagAri.weightx = 0.1;
		ari.add(imgAri, bagAri);
		JLabel labelAri = new JLabel("Aríetes");
		ari.add(labelAri, bagAri);
		JPanel p1 = new JPanel();
		ari.add(p1, bagAri);

		unidadesCerco.add(ari);

		JPanel cata = new JPanel();
		cata.setLayout(new GridBagLayout());
		GridBagConstraints bagCata = new GridBagConstraints();
		bagCata.fill = GridBagConstraints.BOTH;
		bagCata.weighty = 0.5;

		JCheckBox boxCata = new JCheckBox();
		cata.add(boxCata, bagCata);
		JPanel imgCata = new PainelIagem(ImageIO.read(getClass()
				.getResourceAsStream("/imagens/Catapulta.jpg")));
		bagCata.weightx = 0.1;
		cata.add(imgCata, bagCata);
		JLabel labelCata = new JLabel("Catapultas");
		cata.add(labelCata, bagCata);
		JPanel p2 = new JPanel();
		cata.add(p2, bagCata);

		unidadesCerco.add(cata);

		JPanel bali = new JPanel();
		bali.setLayout(new GridBagLayout());
		GridBagConstraints bagBali = new GridBagConstraints();
		bagBali.fill = GridBagConstraints.BOTH;
		bagBali.weighty = 0.5;

		JCheckBox boxBali = new JCheckBox();
		bali.add(boxBali, bagBali);
		JPanel imgBali = new PainelIagem(ImageIO.read(getClass()
				.getResourceAsStream("/imagens/Balista.jpg")));
		bagBali.weightx = 0.1;
		bali.add(imgBali, bagBali);
		JLabel labelBali = new JLabel("Balistas");
		bali.add(labelBali, bagBali);
		JPanel p3 = new JPanel();
		bali.add(p3, bagBali);

		unidadesCerco.add(bali);

		JPanel trabu = new JPanel();
		trabu.setLayout(new GridBagLayout());
		GridBagConstraints bagTrabu = new GridBagConstraints();
		bagTrabu.fill = GridBagConstraints.BOTH;
		bagTrabu.weighty = 0.5;

		JCheckBox boxTrabu = new JCheckBox();
		trabu.add(boxTrabu, bagTrabu);
		JPanel imgTrabu = new PainelIagem(ImageIO.read(getClass()
				.getResourceAsStream("/imagens/Trabuco.jpg")));
		bagTrabu.weightx = 0.1;
		trabu.add(imgTrabu, bagTrabu);
		JLabel labelTrabu = new JLabel("Trabucos");
		trabu.add(labelTrabu, bagTrabu);
		JPanel p4 = new JPanel();
		trabu.add(p4, bagTrabu);

		unidadesCerco.add(trabu);

		p.add(unidadesCerco);

	}

	public PainelJCheckBox(String s) throws IOException {
		setLayout(new GridLayout(2, 2));

		if (s.equals("Nomade")) {
			painelLevesNomade(this);
			painelPesadosNomade(this);
			painelEliteNomade(this);
			painelCercoNomade(this);
		}
	}
}
E

Man, pra que fazer uma classe deste tamanho para resolver um problema que você resolve sem tortura com um JLabel? Não reinvente a roda, use o JLabel e faça como eu disse no post anterior…

Z

Man eu num sabia que dava com o JLabel, então tô aki desde bem sedo escrevendo um monnnnte…
e no final ainda tem um erro fii da mae…rsr
Bem vou usar o modo que vc me indicou, tentativa e erro, uma hora fica bom.
Mas qual layout devo usar?
Para esse engenharia ai funcionar eu tive que usar GridBagLayout, para juntar os 3 componentes de tamanhos diferente.

E

O layout que você usa é irrelevante, basta você ter um JCheckBox e um JLabel do lado… Simples.

Z

Acabei de ver aki, bem simples mesmo…
da vontade de bater com a cabeça na parede aff…kkkkkkkkkkkkkkk
valeu erico, excelente dica mesmo.

E

rsrs…
Man, só coloca o tópico como [RESOLVIDO]

Valeu

E

[Post duplicado]

Criado 10 de outubro de 2012
Ultima resposta 14 de out. de 2012
Respostas 25
Participantes 5