[英]Create a rounded JFrame / ContentPane
从Java 1.3开始,有一个技巧可以使窗口部分透明,或者使窗口淡入(我通常将其用于启动屏幕)或特殊的FX(例如阴影):
使用此技术创建具有半透明阴影的窗口的示例: http : //www.eclipsezone.com/eclipse/forums/t17720.html
对您的帮助不大,但是Java7将支持透明和成形的窗口: 此处提供更多信息 。 这些已在Java 6u10中提供,但尚未公开,即,您需要使用不受支持的com.sun ...类,该类将来可能会更改并破坏您的程序。
尝试这个。 是工作 :)
yourframe.setBackground(new Color(0, 0, 0, 180));
yourframe.setUndecorated(true);
yourframe.addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
setShape(new RoundRectangle2D.Double(0, 0, getWidth(), getHeight(), 80, 80));
}
});
JFrame是重量级组件,因此无法使其透明。 只有轻量级的组件(如JWindow)才能透明。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.