Ola. Estou fazendo uma aplicação e queria que janelas de JInternelFrame abrissem dentro do meu JDesktopPane.
No JDesktopPane eu coloque um imagem no fundo.
Queria saber como que eu faço para a imagem maximizar junto com a janela.
A janela foi definida como 800, 600, que é a resolução do pc que ela vai roda, mais desenvolvo em um monitor de resolução maior
e ai maximizar a janela a imagem continua do mesmo tamanho e sobra espaço em branco.
como eu faço?
Olá. Vou colocar o que uso, não que seja a melhor forma.
[code]
//Evento redimensionar a tela*******************************************
addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent ce)
{
try
{
Dimension tamanhoImagem = desktop.getSize();
int alturaImagem = (int) tamanhoImagem.getHeight();
int comprimentoImagem = (int) tamanhoImagem.getWidth();
String fiecFachada;
try{
fiecFachada = new String( "imagens/fiecFachada.png" );
java.net.URL fiecFachadaUrl = getClass().getResource(fiecFachada);
BufferedImage src = ImageIO.read(fiecFachadaUrl);
BufferedImage dest = new BufferedImage(comprimentoImagem,alturaImagem,
BufferedImage.TYPE_INT_RGB);
Graphics2D g = dest.createGraphics();
AffineTransform at = AffineTransform.getScaleInstance(
(double)comprimentoImagem/src.getWidth(),
(double)alturaImagem/src.getHeight());
g.drawRenderedImage(src,at);
ImageIcon fiecFachadaIcon = new javax.swing.ImageIcon(dest);
lbImagem.setIcon(fiecFachadaIcon);
lbImagem.setBounds(0,0,comprimentoImagem,alturaImagem);
}
catch(IOException ex){ex.printStackTrace();}
paSubLogoff.setSize((int)paSubLogoff.getSize().getWidth(),(int)paLogoff.getSize().getHeight());
}
catch(Exception ex){}
}
});[/code]
Onde desktop é o nome do meu jdesktoppanel e lbImagem é o label que contem a imagem.
para você usar isso você precisará criar uma pasta chamada imagem dentro do pacote que você usa, em seguida, coloque a imagem dentro dela e altere os nomes da imagem nesse codigo que te passei.
Espero ter ajudado, faz tempo que usei esse codigo e acho que da pra melhorar muito.
Beleza… Acho que vai dar certo, o unico problema agora é que eu não sei como colocar a imagem dentro do desktopPane.
Antes eu estava criando um Label imagefundo e jogando dentro do desktoppane assim
Agora eu não sei qual daquelas variaveis que vc colocou la que eu add no desktoppane.
Utilizei o setIconImage:
setIconImage(Toolkit.getDefaultToolkit().getImage(“resources\logo.png”));
getContentPane().setBackground(SystemColor.control);
try {
UIManager.setLookAndFeel(“javax.swing.plaf.nimbus.NimbusLookAndFeel”);
} catch(Exception e) {
}
setBackground(SystemColor.control);
setTitle(“Tela Principal”);
setSize(1024,784);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
background = super.getBackground();
desktop = new JDesktopPane();
desktop.setVisible(true);
getContentPane().add(desktop);