javaswingtransparencyopacitytranslucency

Transparent JFrame background, but visible contents


I'm trying to make a desktop widget using Java, basically what it is, a clock that looks like the Sense Clock Widget from HTC android phones.

Everything is set, clock works and I have a background and clock hour/minute images. The only thing I need is to make the JFrame background transparent. The JFrame is undecorated and can be moved around by its content, just like any widget should act.

I need to figure out how to make the ugly JFrame background from grey to transparent but keep the contents opaque.


Solution

  • frame.setBackground(new Color(0,0,0,0));

    The frame is transparent but the content is visible.

    image of result