gpt4 book ai didi

Java 和处理 3.0 “frame” 类已弃用,是否有替代方案?

转载 作者:行者123 更新时间:2023-12-01 09:34:37 25 4
gpt4 key购买 nike

所以Processing曾经有一个“框架”类,它允许一些多功能的功能。我正在尝试获取 PApplet 窗口在屏幕上的位置,但如果没有“frame”类,我似乎无法做到这一点。

旧方法:

int fX = frame.getX();

int fX = frame.getLocationOnScreen().x;

整个事情应该是动态的,因此在Processings setup() 中设置窗口位置不是一个选项。

希望有人能帮忙

您好!

最佳答案

您可能最好只使用旧的 frame 变量。

对于大多数此类情况,您应该使用新的 surface 变量,该变量的类型为 PSurface。您可以查看 PSurface here 的源代码。阅读该内容后,我们发现不幸的是,surface 变量无法让我们访问框架的位置。

由于您无法从 surface 变量获取该位置,因此您必须更深入地获取 native 组件(在默认情况下,一个SmoothCanvas 扩展了 awt Canvas)。我通过查看可用的 PSurfaceAWT 源代码 here 找到了这一点。 .

该代码看起来有点恶心,因为您必须进行一些转换:

import processing.awt.PSurfaceAWT;
import processing.awt.PSurfaceAWT.SmoothCanvas;

void setup(){
size(200, 200);
}

void draw(){
background(0);

int x = ( (SmoothCanvas) ((PSurfaceAWT)surface).getNative()).getFrame().getX();
text("x: " + x , 20, 20);
}

关于Java 和处理 3.0 “frame” 类已弃用,是否有替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39107750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com