有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java用处理语言制作透明背景(应用程序)

我正在尝试用语言处理3(基于java)为桌面创建一个时钟应用程序,我需要使背景透明,这样你就可以看到时钟后面的东西(例如桌面)

我试过这个:

background(0, 0, 0, 0);

没用

有人能帮我吗


共 (1) 个答案

  1. # 1 楼答案

    你必须进入底层窗口,设置它的透明度

    如何做到这一点(以及这是否可能)将取决于您使用的渲染器,以及您的计算机的功能

    下面是一个使用默认渲染器的示例:

    import processing.awt.PSurfaceAWT;
    import processing.awt.PSurfaceAWT.SmoothCanvas;
    import javax.swing.JFrame;
    
    void setup() {
      size(200, 200);
      PSurfaceAWT awtSurface = (PSurfaceAWT) surface;
      SmoothCanvas smoothCanvas = (SmoothCanvas) awtSurface.getNative();
      JFrame jframe = (JFrame)smoothCanvas.getFrame();
      jframe.dispose();
      jframe.setUndecorated(true);
      jframe.setOpacity(.5f);
      jframe.setVisible(true);
    }
    
    void draw() {
      background(0, 128);
    }
    

    请注意,这只是示例代码,所以您可能需要使用它才能使其与您的计算机和渲染器一起工作。但总的想法是:你必须进入底层窗口,然后设置它的透明度

    如果这不起作用,那么如果您将处理作为Java库使用,而不是通过处理编辑器,您可能会有更好的运气。具体来说,您应该能够在显示底层窗口之前访问它