Como adicionar uma imagem de fundo (background fundo.gif) em um JDesktopPane
JDesktopPane desktop = new JDesktopPane();
// colocar imagem de fundo
Obrigado
Como adicionar uma imagem de fundo (background fundo.gif) em um JDesktopPane
JDesktopPane desktop = new JDesktopPane();
// colocar imagem de fundo
Obrigado
Kra tá meio tarde, amanhã dou uma olhada pra ver se isso aki funciona…
desktop = new JDesktopPane();
internalframe.getContentPane().add(desktop);
Icon img = new ImageIcon("images/j&jwed.gif");
JLabel bdimage=new JLabel("text", img, SwingConstants.CENTER);
//bdimage.setVerticalTextPosition(JLabel.CENTER); if with text
//bdimage.setHorizontalTextPosition(JLabel.CENTER); if with text
bdimage.setVerticalAlignment(SwingConstants.CENTER);
bdimage.setHorizontalAlignment(SwingConstants.CENTER);
Toolkit thekit=internalframe.getToolkit();
Dimension dim=thekit.getScreenSize();
//bdimage.setPreferredSize(new Dimension(dim.width, dim.height));
bdimage.setBounds(0, 0, dim.width, dim.height);
//ip.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
desktop.add(bdimage, new Integer(Integer.MIN_VALUE));
Não testei, peguei lá e joguei aki, mas pelo menos já te dá uma luz…
Não testei, se vc quise dar uma vasculhada eu tava procurando aki:
http://search.java.sun.com/search/java/index.jsp?col=javaforums&qp=forum%3A57&qt=JDesktopPane+Image&x=12&y=6
Um abraço kra…
Eu não consegui fazer desse jeito não. Eu estou colocando uma imagem dentro do JLabel, depois eu adiciono o JLabel ao desktop e o desktop ao JFrame
[code]JDesktopPane desktop = new JDesktopPane();
ImageIcon imgFundo = new ImageIcon(getClass().getResource("logo.jpg"));
JLabel fundo = new JLabel();
fundo.setIcon(imgFundo);
fundo.setVerticalAlignment(SwingConstants.CENTER);
fundo.setHorizontalAlignment(SwingConstants.CENTER);
desktop.setBackground(Color.WHITE);
desktop.add(fundo, new Integer(Integer.MIN_VALUE));
content.add(desktop, BorderLayout.CENTER);[/code]
Por que não aparece o logo no fundo?
Tchê, eu fiz um pequeno programinha demonstrando esta técnica, completamente testado a aprovado. Tu só vais ter que criar um arquivo de imagem chamado “foto.jpg” e colocar na mesma pasta que o teu programa, para que ele leia este arquivo e carregue sua imagem.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class dentro {
public static void main(String[]args) {
JFrame tela = new JFrame("Programa");
final JDesktopPane deska = new JDesktopPane();
JMenuBar barra = new JMenuBar();
JMenu opcoes = new JMenu("Opções");
JMenuItem abreinterna = new JMenuItem("Abrir telinha interna");
Icon imagem = new ImageIcon("foto.jpg");
JLabel lab = new JLabel();
lab.setIcon(imagem);
double alt = Toolkit.getDefaultToolkit().getScreenSize().getHeight();
double larg = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
int altura = (int) alt;
int largura = (int) larg;
lab.setBounds(0,0,largura,altura);
deska.add(lab);
abreinterna.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JInternalFrame interna = new JInternalFrame("Tela menor", true, true, true, true);
interna.setBounds(10,10,400,400);
interna.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
deska.add(interna);
interna.setVisible(true);
}});
opcoes.add(abreinterna);
barra.add(opcoes);
tela.getContentPane().add(deska);
tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tela.setExtendedState(JFrame.MAXIMIZED_BOTH);
tela.setJMenuBar(barra);
tela.setVisible(true);
}
}
Legal tua solução Fabio, bem simples!
Mas e qd redimensionar a janela, o q vc faz pra redimensionar a imagem de fundo de acordo com o tamanho do teu desktopPane?