1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[java] Inserir imagem numa JFrame

Discussão em 'Programação' iniciada por NotoriousXavi, 7 de Dezembro de 2007. (Respostas: 1; Visualizações: 10325)

  1. NotoriousXavi

    NotoriousXavi Power Member

    tenho um codigo com uma janela e queria por uma imagem por baixo dos botoes.
    ja tentei varias coisas encontradas no google mas nada funciona.
    alguma ideia?



    Código:
    import javax.swing.*;
    import java.awt.*;
    
    public class Window {
    
        static JFrame janela = new JFrame("Título Janela");
    
        public static void main(String args[]) {
            janela.setBounds(50, 100, 700, 700);
            janela.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
            
            FlowLayout flow = new FlowLayout(FlowLayout.CENTER);
            Container box = janela.getContentPane(); 
            box.setLayout(flow);  
              
            box.add(new JButton("Botao1"));
            box.add(new JButton("Botao2"));
                      
            janela.setVisible(true);
             
        }
            
    }
     
    Última edição pelo moderador: 7 de Dezembro de 2007
  2. CrazyBomber

    CrazyBomber Power Member

    A minha primeira sugestão é que uses um IDE que dê para editar visualmente a frame. Netbeans, Eclipse, etc. Simplifica muito o trabalho :)

    Não sei se há algum objecto já pré-feito para esse propósito (mostrar imagens), mas caso não haja, podes fazer tu. Cria uma classe que extende o JPanel, recebe uma Imagem ou String ou File (o que interessa é que possa ir buscar o conteúdo a algum lado), fazes uma nova função paint( Graphics g ) para essa classe, que a única coisa que faz é pintar a imagem. Algo do género (feito aqui e sem testar):

    Código:
    public class MostraImagem extends JPanel {
      
      protected Image img;
    
      public MostraImagem( Image img ) {
        this.img = img;
      }
    
      public void paint( Graphics g ) {
        g.drawImage( img ); //tem aqui mais qq coisa, não me lembro bem. width/height, qq coisa.
      }
    
    }
    
     

Partilhar esta Página