Pessoal, preciso saber como inserir imagem de fundo em um JFrame, porem como sou muito inciante em java, gostaria que alguem modificasse o codigo abaixo colocando de fundo um arquivo chamado fundo.jpg que se encontra na mesmo dir do arquivo JAVA, obrigado:
importjava.awt.Graphics;importjavax.swing.*;publicclasstetrisextendsJFrame{publictetris(){super("Tetris Java - Walter, Mário, Igor");setDefaultCloseOperation(EXIT_ON_CLOSE);setResizable(false);setUndecorated(false);getContentPane().setLayout(null);setBounds(200,200,400,400);}/* public void principal(){ FUNDO = this.getToolkit().getImage("fundotetris.jpg"); PECA = this.getToolkit().getImage("peca.JPG"); MediaTracker p = new MediaTracker(this); c.addImage(COPTER,0);*/publicvoidpaint(Graphicsg){//Código}publicstaticvoidmain(String[]args){newtetris().setVisible(true);}}
Mas eu normalmente uso uma imagem de fundo num JFrame junto a um JdesktopPane.Um exemplo + ou - de como seria seu contentPane:
publicContainercriaContentPane(){//Create the content-pane-to-be.JPanelcontentPane=newJPanel(newBorderLayout());desktop=newJDesktopPane(){Imageim=(newImageIcon("imgDeFundo.jpg")).getImage();publicvoidpaintComponent(Graphicsg){g.drawImage(im,0,0,this);}};//fim do JDesktopPanecontentPane.setOpaque(true);contentPane.add(desktop);//adiciono o JDesktopPane ao JPanel returncontentPane;}
Claro q depois eu faço:
frame.setContentPane(this.criaContentPane());
E tudo funciona 100%!
J
JuniorNSMG
Caro Ironlynx, obrigado pela resposta, sei que pra vcs sua resposta está mais do que obvia, mas para mim que ainda num sei nada de java está complicado… poderia me exlicar oq colocar em cada arquivo .java?
Ratao
JuniorNSMG,
Como assim: “O que colocar em cada arquivo .java?”
Confesso nao ter entendido sua questão. :oops:
cleyvison
JuniorNSMG:
Caro Ironlynx, obrigado pela resposta, sei que pra vcs sua resposta está mais do que obvia, mas para mim que ainda num sei nada de java está complicado… poderia me exlicar oq colocar em cada arquivo .java?
Onde enta isso?
packageSisGenEnc;importjava.awt.Container;importjava.awt.Graphics;importjava.awt.Image;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.ImageIcon;importjavax.swing.JButton;importjavax.swing.JDesktopPane;importjavax.swing.JFrame;importjavax.swing.JPanel;publicclassTesteextendsJFrameimplementsActionListener{//private static final long serialVersionUID = 1L;publicTeste(){JPanelteste=newJPanel();setLayout(null);JButtonbtnteste=newJButton("teste");btnteste.setBounds(20,20,50,100);setSize(500,500);add(teste);teste.add(btnteste);setVisible(true);}publicContainercriaContentPane(){//Create the content-pane-to-be. JPanelcontentPane=newJPanel();JDesktopPanedesktop=newJDesktopPane(){privatestaticfinallongserialVersionUID=1L;Imageim=(newImageIcon("e:/cheguei.jpg")).getImage();publicvoidpaintComponent(Graphicsg){g.drawImage(im,0,0,this);}};//fim do JDesktopPane contentPane.setOpaque(true);contentPane.add(desktop);//adiciono o JDesktopPane ao JPanelreturncontentPane;}@OverridepublicvoidactionPerformed(ActionEvente){// TODO Auto-generated method stub}}
Marky.Vasconcelos
cleyvison:
JuniorNSMG:
Caro Ironlynx, obrigado pela resposta, sei que pra vcs sua resposta está mais do que obvia, mas para mim que ainda num sei nada de java está complicado... poderia me exlicar oq colocar em cada arquivo .java?
Onde enta isso?
packageSisGenEnc;importjava.awt.Container;importjava.awt.Graphics;importjava.awt.Image;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.ImageIcon;importjavax.swing.JButton;importjavax.swing.JDesktopPane;importjavax.swing.JFrame;importjavax.swing.JPanel;publicclassTesteextendsJFrameimplementsActionListener{//private static final long serialVersionUID = 1L;publicTeste(){JPanelteste=newJPanel();setLayout(null);JButtonbtnteste=newJButton("teste");btnteste.setBounds(20,20,50,100);setSize(500,500);add(teste);teste.add(btnteste);setVisible(true);}publicContainercriaContentPane(){//Create the content-pane-to-be. JPanelcontentPane=newJPanel();JDesktopPanedesktop=newJDesktopPane(){privatestaticfinallongserialVersionUID=1L;Imageim=(newImageIcon("e:/cheguei.jpg")).getImage();publicvoidpaintComponent(Graphicsg){g.drawImage(im,0,0,this);}};//fim do JDesktopPane contentPane.setOpaque(true);contentPane.add(desktop);//adiciono o JDesktopPane ao JPanelreturncontentPane;}@OverridepublicvoidactionPerformed(ActionEvente){// TODO Auto-generated method stub}}
Fora o fato desse tópico ser de 3 anos atraz.
O ideal seria isso.
publicclassTesteextendsJFrameimplementsActionListener{privateBufferedImageimagem;publicTeste(){JPanelteste=newJPanel();setLayout(null);JButtonbtnteste=newJButton("teste");btnteste.setBounds(20,20,50,100);setSize(500,500);add(teste);teste.add(btnteste);imagem=ImageIO.read(newFile("C:/imagem.png"));//Falta try/catchsetVisible(true);}publicContainercriaContentPane(){JPanelcontentPane=newJPanel(){publicvoidpaintComponent(Graphicsg){super.paintComponent(g);Graphics2Dg2d=(Graphics2D)g.create();g2d.drawImage(imagem,0,0,imagem.getWidth(),imagem.getHeight());g2d.dispose();}}returncontentPane;}@OverridepublicvoidactionPerformed(ActionEvente){// TODO Auto-generated method stub}}
cleyvison
O fato do tópico ser antigo demonstra que antes de realizar pergutas e pedir auxilio eu pesquiso, não quero as coisas faceis, quero aprender e para isso sempre conto com a ajuda dos senhores. um abraço