estou tentando colocar uma imagem de fundo em um Jframe e estou usando o codigo abaixo para deixar o jframe maximizado.
setExtendedState(java.awt.Frame.MAXIMIZED_BOTH);
mas eu quero colocar uma 2 jLabel e 2 jTextField quando quando eu tento colocar por cima nao da certo.
se eu mudar o jFrame para layoutAbsolute e pergo a função autodimensionar.oque e posso fazer?
Podes colocar um jpanel dentro do teu jframe (eu gosto de fazer isso, não gosto de colocar os componentes direto no frame) e criar uma classe que extends o JPanel sobrescrevendo o método paintComponent, tipo assim:
publicclassBackgroundextendsJPanel{BufferedImageb;Rectangle2Drect;publicBackground(Stringimage){try{b=ImageIO.read(Thread.currentThread().getClass().getResourceAsStream(image));//carrego a imagemrect=newRectangle(0,0,b.getWidth(),b.getHeight());//crio um retangulo com o tamanho da imagem}catch(IOExceptionex){ex.printStackTrace(System.err);}}@OverridepublicvoidpaintComponent(Graphicsg){TexturePaintp=newTexturePaint(b,rect);//preencho a tela com esses retangulosGraphics2Dg2=(Graphics2D)g;g2.setPaint(p);//digo pro grafico da tela que vou fazer um texturePaintg2.fillRect(0,0,this.getWidth(),this.getHeight());//desenho a textura na tela toda, preenchendo com a imagem escolhida}}
ai você faz o seguinte pra criar o JPanel:
JPanel painelPrincipal = new Background("/images/fundo.png");
Lembrando que podes alterar, esse usa um TexturePaint, que vai pegar uma imagem pequena e colocar na tela toda, leia [ur=http://www.pontov.com.br/site/java/48-java2d/97-pintando-no-java-2dl]aqui[/url] na parte preenchimento(fill) pra entender melhor.
ViniGodoy
G
guimarques1987
tentei fazer mas esta dando erro neste import
import com.towel.swing.img.JImagePanel
gaulix
você importou a biblioteca Towel pro seu projeto?
G
guimarques1987
agora abriu
G
guimarques1987
mas para eu abrir este JImagePanel no meu painel swing