gpt4 book ai didi

Java在设置组件大小时重用Dimension对象

转载 作者:行者123 更新时间:2023-11-29 03:53:54 25 4
gpt4 key购买 nike

是否禁忌使用多个预置维度对象来设置屏幕上不可调整大小的组件的首选大小。例如:两个文本字段都应为 80x20 像素,因此:

Dimension d = new Dimension(80, 20);
tf1.setPreferredSize(d);
tf2.setPreferredSize(d);

最佳答案

是的,它是“安全的”。引自 Java Performance Tuning :

[...] This same Dimension object can be reused for multiple components. [...]

不过要看你想要什么。请注意,Component 中的实现不会复制参数的内容,而是存储引用:

public void setPreferredSize(Dimension preferredSize) {
...
this.prefSize = preferredSize;
...
}

因此更改 d 将影响存储在 tf1tf2 中的维度对象。

(我的意思是下面的代码可能无法达到您的预期。)

Dimension d = new Dimension(80, 20);
tf1.setPreferredSize(d);

d.width += 1; // <-- will affect also tf1.
tf2.setPreferredSize(d);

关于Java在设置组件大小时重用Dimension对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7430163/

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