java如何实现透明窗口

javaapplication... java application 展开
 我来答
delong2008
推荐于2016-07-05 · TA获得超过928个赞
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:188万
展开全部
  以前找别人的程序写的,希望对你有帮助
  import java.awt.Dimension;
  import java.awt.*;

  import javax.swing.*;

  public class TransparentBackground extends JComponent {
  private JFrame frame;

  private Image background;

  public TransparentBackground(JFrame frame) {
  this.frame = frame;
  updateBackground();
  }

  public void updateBackground() {
  try {
  Robot rbt = new Robot();
  Toolkit tk = Toolkit.getDefaultToolkit();
  Dimension dim = tk.getScreenSize();
  background = rbt.createScreenCapture(new Rectangle(0, 0, (int) dim
  .getWidth(), (int) dim.getHeight()));
  } catch (Exception ex) {
  //p(ex.toString( ));
  ex.printStackTrace();
  }
  }

  public void paintComponent(Graphics g) {
  Point pos = this.getLocationOnScreen();
  Point offset = new Point(-pos.x, -pos.y);
  g.drawImage(background, offset.x, offset.y, null);
  }

  public static void main(String[] args) {
  JFrame frame = new JFrame(" Transparent Window ");
  TransparentBackground bg = new TransparentBackground(frame);
  bg.setLayout(new BorderLayout());
  JButton button = new JButton(" This is a button ");
  bg.add(BorderLayout.NORTH, button);
  JLabel label = new JLabel(" This is a label ");
  bg.add(BorderLayout.SOUTH, label);
  frame.getContentPane().add(BorderLayout.CENTER, bg);
  frame.pack();
  frame.setSize(150, 100);
  frame.show();
  }
  }
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式