È possibile creare un JFrame con uno sfondo trasparente e disegnare un'immagine su di esso, in modo che solo l'immagine sia visibile senza bordi o sfondo?Sfondo trasparente JFrame
risposta
Vedere Translucent and Shaped Swing Windows di Kirill Grouchnikov.
Per un esempio di Mac OS X, vedere Re-paint problem on translucent frame/panel/component.
È possibile.
Se il JFrame è una variabile locale o campo:
myJFrame.setUndecorated(true);
Se la classe estende JFrame:
setUndecorated(true);
vero che dal jdk7, la trasparenza è supportata solo per cornici non decorate. Come chiamare i metodi dovrebbe essere una conoscenza di base, però :-) – kleopatra
Sì, è possibile in molti modi. Questo è uno di loro:
setUndecorated(true);
setBackground(new Color(1.0f,1.0f,1.0f,0.5f));
4th galleggiante (che ho impostato a 0.5f) nel costruttore di colore è canale alfa. Può essere 0.0f - 1.0f dipende dalla trasparenza che si desidera.
Si dovrebbe rendere trasparente anche il riquadro del contenuto.
frame.setUndecorated(true);
frame.getContentPane().setBackground(new Color(1.0f,1.0f,1.0f,0.0f));
frame.setBackground(new Color(1.0f,1.0f,1.0f,0.0f));
Il collegamento è morto. Google suggerisce questo post sul blog: http://www.pushing-pixels.org/2008/02/27/translucent-and-shaped-windows-in-core-java.html –