Cara, se é o que eu entendi, até tem como… (Mas vai ser numa base de gambiarra, ok?)
Levando em consideração que tu vai ter um frame que não vai ser movido(tipo quando inicia o photoshop), tu vai ter que fazer o seguinte:
1-Criar um JPanel;
2-Sobrescrever o metodo paintComponet() do JPanel;
3-Fazer o JPanel tirar um PrintScreen do que está atrás da janela e tornar esse o plano de fundo;
4-Adicionar o JPainel personalizado num JFrame;
Parece difícil, mas é bem barbada! É só implementar o código abaixo…
import java.awt.AWTException;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
/**
*
* @author guilherme
*/
public class PainelTrasnparente extends javax.swing.JPanel {
private Robot robot;
private BufferedImage fundo;
public PainelTrasnparente(JFrame pai) {
initComponents();
try {
robot = new Robot();
setBounds(0,0,pai.getWidth(),pai.getHeight());//faz o painel ficar do tamanho do Frame
//tira um print screen da tela, de acordo com as coordenadas do retângulo que foi passado como parâmetro
fundo=robot.createScreenCapture(new Rectangle(pai.getX(),pai.getY(),pai.getWidth(),pai.getHeight()));
} catch (AWTException ex) {}
}
@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
//sobrescreve o metodo paintComponent para poder tornar o printScreen o fundo do Painel
g.drawImage(fundo, 0,0, null);
}
E no JFrame…
/**
*
* @author guilherme
*/
public class FramePai extends javax.swing.JFrame {
public FramePai() {
setUndecorated(true);//retira a barra de título do JFrame
initComponents();
setLocationRelativeTo(null);//faz o frame ser exibido no meio da tela
PainelTrasnparente pt=new PainelTrasnparente(this);//instancia o painel
add(pt);//adiciona ao JFrame
}
Esse foi o resultado no meu PC:
http://sohminha.orgfree.com/images/JFrameTrasnparente.png
Esse relevo só aconteceu porque meu Ubuntu tem efeito de sombreamento de janelas, mas eu ja testei num XP e que eu me lembre, fica ok! ![:slight_smile: :slight_smile:](//www.guj.com.br/images/emoji/twitter/slight_smile.png?v=5)
Agora, é só adicionar os componentes desejados no JPanel, no teu caso, um JLabel com icone, pra dar o efeito de janela com forma personalizada(pelo que eu entendi).
Nota: o Frame e o painel podem ser criados direto pelo netbeans, não precisa ser na mão, é só editar aqueles trechos e deu…
Espero ter ajudado! ![:smiley: :smiley:](//www.guj.com.br/images/emoji/twitter/smiley.png?v=5)