alguem sabe se tem como aplicar uma imagem como background no JDesktopPane???
Sim, fizemos algo assim aqui:
Dentro do JDesktopPane colocamos um JLabel no tamanho da imagem que queremos apresentar. Ai, vc coloca a imagem q deseja na propriedade icon do JLabel.
Boa sorte!
De uma olhada destes links:
http://www.guj.com.br/posts/list/39131.java
http://www.guj.com.br/posts/list/45399.java
Pelo que eu entendi, é isto que você deseja.
Espero ter ajudado.
Galera, dessa forma ñ é preciso adicionar um jPanel para poder utilizar um background… pode-se fazer isso direto no JDesktopPane, como nesse simples exemplo que fiz:
OBS: Atenção nos realces.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class BGDesktopPane extends JFrame
{
private static Image img;
private JDesktopPane dp1;
public BGDesktopPane()
{
try
{
img = javax.imageio.ImageIO.read(new java.net.URL(getClass().getResource("kurumin.jpg"), "kurumin.jpg"));
}
catch(Exception e){} [/b]
dp1 = new JDesktopPane()
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
[b]if(img != null)
{
g.drawImage(img, 0,0,this.getWidth(),this.getHeight(),this);
g.drawString("Background Carregado com Sucesso!!!", (this.getWidth()/2), (this.getHeight()/2) );
}
else
g.drawString("Image not found", 50,50);
/* O repaint e o VAlidade aparentimente n fazem diferença. Caso
encontrem algum bom motivo para usa-los, postem, please! xD
*/
//super.repaint();
//super.validate();
}
};
addWindowListener(new WindowAdapter()
{
public void windowOpened(WindowEvent evt)
{
formWindowOpened(evt);
}
}
);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().add(dp1);
setSize(img.getWidth(null),img.getHeight(null));
setVisible(true);
pack();
}
private void formWindowOpened(WindowEvent evt)
{
setLocationRelativeTo(null);
setExtendedState(6);
}
public static void main(String[] args)
{
new BGDesktopPane();
}
}
Qualquer duvida, estamos por ai!!!
Abraços, e espero ter ajudado em algo.