GARANTIR DESCONTO

Fórum Como adicionar uma imagem em um jPanel? #566357

16/04/2012

0

Gente estou tentando fazer um jogo da forca aqui e quero que quando ao iniciar o jogo ele mostre uma imagem no jPanel.
 public void mostraImagem() {
        int resp = JOptionPane.showConfirmDialog(this, "Deseja Iniciar o Jogo?",
                "", JOptionPane.YES_NO_OPTION);
        if (resp == JOptionPane.YES_NO_OPTION) {
            jPMostraimagem.setIcon("imagens/forca1.png");
        }
    }
Fiz isso mas a ide fala marca em vermelho o .setIcon, não sei se o caminho da imagem também está certo, eu criei uma pasta dentro da pasta do projeto chamada imagens e lá coloquei as imagens. Outra duvida: Qual a diferença do public void para o private void? Obrigado.
Geison Silva

Geison Silva

Responder

Posts

16/04/2012

Jonas Mayer

VocÊ pode usar Label seria :
        JLabel status = new JLabel();
        status.setBorder(BorderFactory.createLineBorder(Color.BLACK));
        status.setBounds(275, 30, 225, 225);
        status.setIcon(new ImageIcon("imagem/image02.png"));
        fLogin.add(status);
public os dados , métodos são públicos private são acessados apenas pela classe void é o tipo de retorno no caso vazio, nulo ....
Responder

Gostei + 0

17/04/2012

Jonas Mayer

[quote="jmayer13"]VocÊ pode usar Label seria :
        JLabel status = new JLabel();
        status.setBorder(BorderFactory.createLineBorder(Color.BLACK));
        status.setBounds(275, 30, 225, 225);
        status.setIcon(new ImageIcon("imagem/image02.png"));
        fLogin.add(status);
public os dados , métodos são públicos private são acessados apenas pela classe void é o tipo de retorno no caso vazio, nulo ....
Consegui fazer usando outro método, mesmo assim obrigado, agora gostaria de saber como que faço que ao criar o jar a pasta imagens vai junto? Ela esta dentro da pasta do projeto mas não esta no package, ai quando crio o jar ela não vai junto.
Responder

Gostei + 0

17/04/2012

Jonas Mayer

sim, você tem que copiar a pasta para o mesmo diretório do .JAR
Responder

Gostei + 0

17/04/2012

Jonas Mayer

[quote="Geison"][quote="jmayer13"]VocÊ pode usar Label seria :
        JLabel status = new JLabel();
        status.setBorder(BorderFactory.createLineBorder(Color.BLACK));
        status.setBounds(275, 30, 225, 225);
        status.setIcon(new ImageIcon("imagem/image02.png"));
        fLogin.add(status);
public os dados , métodos são públicos private são acessados apenas pela classe void é o tipo de retorno no caso vazio, nulo ....
Consegui fazer usando outro método, mesmo assim obrigado, agora gostaria de saber como que faço que ao criar o jar a pasta imagens vai junto? Ela esta dentro da pasta do projeto mas não esta no package, ai quando crio o jar ela não vai junto.
Como está a estrutura? Assim: Pasta da App -> Pacotes Pasta da App -> Imagens Ou: Pasta da App -> Pacotes Pasta da App -> Pacotes -> Imagens Porque, mesmo que esteja nos pacotes corretos, se você não chamar como "Resource" na aplicação e sim chamar como recurso direto (ex: "C:/Pasta da App/Pacote/Imagens/logo.jpg") ele não vai reconhecer, pois na pasta do jar a parte "/Pacote/Imagens/logo.jpg" não existe. Você chama como recurso assim:
ImageIcon logo = new ImageIcon(getClass().getResource("/Pacote/Imagens/logo.jpg"));
Dessa forma o java procura, dentro das suas pastas que estão no Jar.
Responder

Gostei + 0

20/04/2012

Jonas Mayer

problema Resolvido, obrigado a todos.
Responder

Gostei + 0

20/04/2012

Jonas Mayer

Legal,mas se um dia vc quizer fazer algo mais interessando com uma tela inicial,uma dica
BufferedImage b;	//armazena a imagem do fundo
    Rectangle2D rect;	//faz virar um retangulo
    JFrame frameinicio = new JFrame("MILITARE SYSTEM");//cria a frame

public void paintComponent(Graphics g) {


        rect = new Rectangle(0, 0, this.getWidth(), this.getHeight()); //EXTENDENDO O TAMANHAO DA IMAGEM 

        TexturePaint p =new TexturePaint(b, rect);  //TRANSFORMANDO EM UM RETANGULO DO TAMANHO DA TELA
        Graphics2D g2 = (Graphics2D) g;
        g2.setPaint(p);
        g2.fillRect(0, 0, this.getWidth(), this.getHeight());  //PEGANDO O TAMANHO

    }
isso já me ajudou muito,tanto as funções como o q devo usar e etc..
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar