Galera, fiz um programinha bem basico no NetBeans, e gostaria de mudar o plano de fundo dele, tipo colocando uma imagem q eu tenho no pc, ou n precisa nem ser plano de fundo, apenas colocar a imagem no programa, e tbm aproveitando o topico, como eu faco para o programa iniciar no centro da tela, ele sempre inicia no canto superior esquerdo.
vlw pela ajuda
opa…
para colocar a janela de sua aplicação no centro da tela, conheço duas formas:
a primeira:
//this = seu frame
this.setLocationRelativeTo( null );
e a segunda, calculando o tamanho da sua janela e da resolução da tela
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation( ( screenSize.width - this.getWidth() ) / 2,
( screenSize.height - this.getHeight() ) / 2 );
Para colocar uma imgam de fundo, acredito que vc terá que usar um JPanel, e este colocar no fundo do seu JFrame.
para colocar uma imagem no JPanel, você terá que fazer algo como:
ImageIcon image = new ImageIcon( "sua_imagem" );
public void paintComponent( Graphics g )
{
super.paintComponent( g );
if ( image != null )
{
g.drawImage( image.getImage(), 0, 0, this );
}
else
{
System.out.println( "Image is null" );
}
}
ok,obrigado, eu vou tentar aq.
vlw
A parte de centralizar o form na tela as duas formas realmente bacanas já foram faladas.
No entanto, para adicionar um fundo na sua tela, existem várias alternativas.
Uma delas, muito válida, foi falada.
Outra é a mesma alternativa mas criando uma classe para isso. Provavelmente você vai querer repetir esta ação mais pra frente e nada melhor que reaproveitar seu código, afinal, essa é a idéia da OO.
Uma maneira bem bacana e bem válida é adicionar um layeredPane na tela, incluir um JLabel no JLayeredPane e colocar a imagem no JPanel.
Outra forma, dependendo de como você trabalha, é apenas incluir um JLabel, sem precisar do JLayeredPane.
Vale lembrar que alguns LookAndFeel (um muito usado, o Nimbus) já trazem um wallpaper interessante, se você for usar um JDesktopPane (componente especialmente indicado para construir aplicações do tipo MDI, com vários JInternalFrames em um JFrame principal).
Você também pode alterar o LookAndFeel para ELE implementar esta imagem.
Esta é a saída mais complicada de todas mas a mais “elegante”.
Até porque você vai ter um L&F customizado seu e vai ter diversos outros controle como, por exemplo, bordas de botões, cores, efeitos, etc etc etc.
Soh passei para adicionar isto aqui porque acho interessante o povo saber destas alternativas.
Mas o que foi falado sem dúvidas já funciona bem legal.
^^
flwz