Sì, questa domanda è ovunque. Ma tutte le soluzioni (di lavoro) utilizzano il toolkit AWTUtilities, che è limitato.Java - il vecchio JFrame trasparente, senza librerie ristrette
Così. Voglio solo controllare l'opacità della mia finestra. Non c'è bisogno di modellare o non decorare. Solo un contentPane trasparente (facile) e uno sfondo trasparente JFrame (incredibilmente difficile).
Avrei giurato di avere la giusta combinazione di cose ieri, ma ora non riesco a riprodurlo. Inoltre ci sono alcune soluzioni là fuori senza usare AWTUtilities, ma non funzionano ... qualcuno ha una buona soluzione?
Un esempio del mio codice non riuscendo:
public static void main(String[] args) {
JFrame test = new JFrame();
test.setSize(400, 400);
test.setLocationRelativeTo(null);
test.setUndecorated(true);
test.setBackground(new Color(0, 0, 0, 0));
test.getContentPane().setBackground(new Color(0,0,0,0));
test.setVisible(true);
}
ma questo fa solo un quadrato bianco. Chiudi ma senza sigaro. Ho anche provato a sovrascrivere il metodo di pittura, e qualcuno stava dicendo qualcosa sul lancio del canale alfa, ma questo lo rendeva nero (ovviamente). Quindi ... Stack Overflow è.
Se c'è un duplicato che risponde esattamente a questo, per favore indicatelo e io cancellerò immediatamente.
Aggiornamento Per richieste nei commenti, ecco una storia di come sono arrivato qui:
Il primo collegamento tutti arriva è how to create translucent and shaped windows. Questo ha diverse linee in là simile a" ... il telaio con traslucido un livello di opacità del 75%. " Quindi ... sembra che siano definiti uguali, almeno in quell'articolo. Sfortunatamente usano la libreria.
Un paio di link che ho potuto inseguire giù:
una soluzione non-lavoro "lavoro" è segnalato in http://www.java-gaming.org/index.php?topic=24635.0 che mostra un po 'di speranza, ma non ho potuto farlo funzionare.
http://techgearup.wordpress.com/2008/09/19/transparent-jframe-background/ è un modo hacker con schermate ed è duplicato in pochi altri luoghi.
È possibile utilizzare Java 7? Potresti collegare ad alcune delle soluzioni di lavoro in modo da vedere cosa hai provato? –
Si prega di non [confondere] (http://stackoverflow.com/questions/3517722/java-transparent-jscrollpane/3518047#3518047) _opacity_ e _transparency_. – trashgod
Concordato, questa è una delle nuove funzionalità di Java 7: http://download.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html –