TransWikia.com

GIF como fondo de pantalla JFrame Java

Stack Overflow en español Asked by Ivan Garcia Ballesteros on December 26, 2020

Estoy intentando colocar un GIF como fondo de pantalla, el problema es que el GIF no me ocupa toda la pantalla. ¿Como puedo arreglarlo para que el GIF ocupe toda la pantalla de forma que aunque se cambie el tamaño de la ventana este siga ocupando todo?

Este es mi código:

public class ViewInicio extends JFrame {
private JLabel fondo;
public ViewInicio() {
setLayout(new BorderLayout()); setSize(1500,900); setTitle("View Inicio"); setMinimumSize(new Dimension(700, 700)); setIconImage(new ImageIcon(getClass().getResource("/resources/icon.png")).getImage()); setDefaultCloseOperation(EXIT_ON_CLOSE);
fondo = new JLabel(); fondo.setIcon(new ImageIcon(getClass().getResource("/hundirlaflotilla/resources/fondo.gif"))); getContentPane().add(fondo);
setVisible(true); } }

2 Answers

Debes tener en cuenta las dimensiones de la imagen GIF, y la de tu Pane en el Jframe. Al colocar la imagen como fondo busca la propiedad MAXIMUN SIZE

Answered by Riddick on December 26, 2020

para que el tamaño de la imagen de fondo se modifique adecuandose al de la ventana, debes asignar la imagen de fondo con la escala adecuada en el evento que controla el cambio de tamaño del JFrame, seria asi:

addComponentListener(new ComponentAdapter() {
    @Override
    public void componentResized(ComponentEvent ev) {
        Image imgFondo=new ImageIcon(getClass().getResource("/imagenes/fondo.gif")).getImage();
        fondo.setIcon(new ImageIcon(imgFondo.getScaledInstance(ev.getComponent().getWidth(), ev.getComponent().getHeight(), Image.SCALE_DEFAULT)));
    }
});

Espero te haya sido de ayuda.

Answered by Kingk on December 26, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP