gpt4 book ai didi

processing - 如何使窗口小于 100 像素

转载 作者:行者123 更新时间:2023-12-03 17:20:06 25 4
gpt4 key购买 nike

我尝试在屏幕底部制作一个状态栏,但窗口不能小于 100 像素。我正在处理 3.0.1。

我使用以下代码

void setup() {
surface.setResizable(true);
surface.setSize(300, 20);
surface.setLocation(displayWidth-300, displayHeight-50);
}

void draw() {
background(128);
}

有任何想法吗??

谢谢大家

Ĵ!

最佳答案

如果您删除 surface.setResizable(true);声明,可以看到 Canvas 是300x20,但是窗口不是:

Processing 3.0 sketch window

处理3.0有很多changes包括重构以前依赖于 Java 的 AWT 包的窗口代码。

浏览当前源代码,可以看到:

static public final int MIN_WINDOW_WIDTH = 128;
static public final int MIN_WINDOW_HEIGHT = 128;

定义于 PSurface.java line 34
并一直使用 PSurfaceAWT.java以确保这些最小窗口尺寸。

尝试访问 Surface 的 Canvas ( println(surface.getNative()); ) 我可以将其列为 processing.awt.PSurfaceAWT$SmoothCanvas我可以看到 SmoothCanvas class with a getFrame() method这看起来很有希望,但似乎无法访问(即使它是公共(public)类的公共(public)方法)。

所以默认情况下,此时,我会说在 Processing 3.x 中将窗口大小调整为小于 128x128 是不行的。

如果必须使用 Processing 3.x 和更小的窗口,则可以自己调整源代码并重新编译核心库,但这可能会在以后有多个处理项目和多个版本的处理核心库时对您造成影响。我不建议正常修补核心库。

如果您可以为您的项目使用 Processing 2.x,则可以使窗口大小小于 100 像素:

PApplet resized window
import java.awt.Dimension;

int w = 300;
int h = 20;
int appBarHeight = 23;//this is on OSX, on Windows/Linux this may be different

void setup() {
size(w, h);
frame.setResizable(true);
}

void draw() {
if (frame.getHeight() != h+appBarHeight){//wait for Processing to finish setting up it's window dimensions (including minimum window dimensions)
frame.setSize(w,h+appBarHeight);//set your dimensions
}
background(128);
}

关于processing - 如何使窗口小于 100 像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33849490/

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