Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Linux Compton:如何为未装饰的JFrame移除窗口阴影_Java_Linux_Jframe_Shadow - Fatal编程技术网

Java Linux Compton:如何为未装饰的JFrame移除窗口阴影

Java Linux Compton:如何为未装饰的JFrame移除窗口阴影,java,linux,jframe,shadow,Java,Linux,Jframe,Shadow,我用Java创建了一个未装饰的每像素半透明JFrame。帧的大小(在下面的屏幕中)为512x512。到目前为止,我只添加了3张图片。我的问题是康普顿创建的窗口阴影几乎破坏了每像素半透明的效果。我一直试图找出如何禁用JFrames的窗口阴影,但我找不到任何关于康普顿的信息 是否有可能通过命令行运行命令来禁用特定进程的Compton?在这种情况下,我可以使用Runtime.exec() 我所尝试的: 设置未装饰(true) getRootPane().putClientProperty(“Win

我用Java创建了一个未装饰的每像素半透明JFrame。帧的大小(在下面的屏幕中)为512x512。到目前为止,我只添加了3张图片。我的问题是康普顿创建的窗口阴影几乎破坏了每像素半透明的效果。我一直试图找出如何禁用JFrames的窗口阴影,但我找不到任何关于康普顿的信息

是否有可能通过命令行运行命令来禁用特定进程的Compton?在这种情况下,我可以使用Runtime.exec()

我所尝试的:

  • 设置未装饰(true)
  • getRootPane().putClientProperty(“Window.shadow”,Boolean.FALSE)
  • setType(Type.UTILITY)
  • setType(Type.POPUP)

注意:我仍然希望康普顿处于活动状态,只是不适用于这个特定的JFrame。

虽然它不是一个适用于所有具有透明窗口的应用程序的解决方案,但它对我有效,因为我只希望这个应用程序不使用康普顿阴影

解决方案:

  • 创建一个康普顿配置文件
  • 添加
    shadowexclude=[“name='WindowTitle'”]其中
    WindowTitle
    是窗口的标题
  • 在终端中执行pkill compton
  • 启动Compton,并确保它通过
    --config
    参数链接到配置文件

  • 就是这样。

    像这样的吗?谢谢,这让我找到了正确的方向D