How to set transparent background of JDialog

Christian 'fuzi' Orgler picture Christian 'fuzi' Orgler · Jan 7, 2011 · Viewed 19.8k times · Source

Hy,..

how can i set the background transparent and "remove" the closeoperation (marked red) ? I only want to show the card :-)

alt text

Thanks..!

Answer

Tomek picture Tomek · Mar 15, 2012

Although there is no problem with UNDECORATED JFrame transparency (myJFrame.setBackground (new Color (0,0,0,0)); is pretty enough), the same with JDialog is not working.

I discovered, however, the following sequence works perfect for JDialog:

myJDialog.getRootPane ().setOpaque (false);
myJDialog.getContentPane ().setBackground (new Color (0, 0, 0, 0));
myJDialog.setBackground (new Color (0, 0, 0, 0));

A also remain, but it is my PRIVATE, humble suggestion, that all setBackground call for Window extenders (e.g. JFrame, JDialog) should be tried against UnsupportedOperationException and IllegalComponentStateException.