Alguém poderia me dizer como faço para a minha janela ficar transparente?
Tipo um vidro assim, que dê pra ver o que está por trás dela (o papel de parede, ou outros aplicativos abertos por trás)???
[]'s
Alguém poderia me dizer como faço para a minha janela ficar transparente?
Tipo um vidro assim, que dê pra ver o que está por trás dela (o papel de parede, ou outros aplicativos abertos por trás)???
[]'s
Estamos supondo que você está usando Windows.
Bom, se fosse em J# ou C#… Há uma “property” chamada Opacity que faz exatamente o que você quer.
Lá no MSDN você pode encontrar a seguinte informação (que funciona só para o Windows 2000, XP ou 2003):
[i]
Using Layered Windows
To have a dialog box come up as a translucent window, first create the dialog as usual. Then, on WM_INITDIALOG, set the layered bit of the window’s extended style and call SetLayeredWindowAttributes with the desired alpha value. The code might look like this:
// Set WS_EX_LAYERED on this window
SetWindowLong(hwnd,
GWL_EXSTYLE,
GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED);
// Make this window 70% alpha
SetLayeredWindowAttributes(hwnd, 0, (255 * 70) / 100, LWA_ALPHA);
[/i]
Só tem um pequeno problema… mesmo escrevendo um pouquinho de JNI é preciso obter o handle da janela (o tal hwnd que aparece no código acima), então não sei exatamente o que dá para fazer em Java (não fiz nenhum código JNI que precise de janelas.) Deve haver alguma função do AWT que retorne um handle de janela, mas não sei qual.