除文字以外都透明的界面实现

shadon178 2015-06-13 11:34:37
我想用Java SWING实现一个功能,整个界面只有一个段文字,其他的全部都透明。

如下图所示,界面只有一个单词,然后其他全部都透明。


当鼠标移动进来之后有一个边框的效果。


请教各位一个问题,问题是刚我让界面透明的时候,文字也透明了,有什么好办法可以只让文字不透明,其他都透明呢?

我的错误方式:AWTUtilities.setWindowOpacity(this, 0.2f);
...全文
239 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nj_dobetter 2015-06-16
  • 打赏
  • 举报
回复
以前1.5之前的JDK不支持,现在的JDK支持的
alan19931103 2015-06-13
  • 打赏
  • 举报
回复
对不同的graphics2D对象设置透明度,可以渲染透明的组件。
shadon178 2015-06-13
  • 打赏
  • 举报
回复
还希望这个界面只做显示用,不要拦截了鼠标单击事件,就是如果这个界面后面有个别的应用程序也可以单击操作。
finemi 2015-06-13
  • 打赏
  • 举报
回复

public class OpacityWindow {
	public static void main(String[] args){
		JFrame frame = new JFrame();
		MyPanel pnl = new MyPanel();
		frame.setUndecorated(true);
		frame.setContentPane(pnl);
		frame.setBounds(500, 300, 500, 350);
		AWTUtilities.setWindowOpaque(frame, false);
		frame.setVisible(true);
	}

}

class MyPanel extends JPanel{
	@Override
	public void paint(Graphics g) {
		try {
			Image image = ImageIO.read(Class.class.getResource("/123.png"));
			Graphics2D g2 = (Graphics2D)g;
			g2.drawImage(image,0,0,null);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
attilax 2015-06-13
  • 打赏
  • 举报
回复
做界面目前要swing比较麻烦,这个效果可以实现,但是插资料麻烦,也比较少。。还是用html5做这个界面把,实现这个效果超简单。。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧