Maximizar internel frame

3 respostas
tiagocampos65

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?

3 Respostas

gqferreira
Olá. Vou colocar o que uso, não que seja a melhor forma.
//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){}
			}		
		});

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.

tiagocampos65

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.

L

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);
Criado 3 de abril de 2009
Ultima resposta 28 de set. de 2013
Respostas 3
Participantes 3