当前位置: 代码迷 >> 综合 >> 两行代码让 JFrame 透明
  详细解决方案

两行代码让 JFrame 透明

热度:79   发布时间:2023-09-27 16:01:56.0
SetUndecorated(true);
SetBackground(new Color(255, 255, 255, 125);

SetUndecorated 源码中的注解:

This method can only be called while the frame is not displayable. To make this frame decorated, it must be opaque and have the default shape, otherwise the IllegalComponentStateException will be thrown

即,让窗口有默认装饰(decorated),则窗口必须不透明。So,窗口想透明,则必须去掉默认装饰,即第一句代码

第二句代码,new Color 的第 4 个参数代表透明度 a = [0, 255]


注解中还提示, setUndecorated 需要在窗口可视(setVisiable)之前调用,因为,若让窗口有默认装饰,另个一条件是窗口有默认形状