簡體   English   中英

尺寸,僅更改寬度/高度

[英]Dimension, Only changing the width/height

如何僅更改需要Dimension對象的組件的寬度或高度? 目前我這樣做:

jbutton.setPreferredSize(new Dimension(button.getPreferredSize().width, 100));

但我有一種感覺,我做錯了。 如果有更好的方法,最好的方法是什么?

首先,您沒有更改 JButton 的尺寸。 您正在指定所需的首選大小,它最終可以應用於您的 JButton,具體取決於它插入的組件的 LayoutManager。

對於什么問題,使用 Dimension 對象就好了。 最終您可以直接訪問 Dimension 字段:

Dimension d = button.getPreferredSize();
d.height = 10;
jbutton.setPreferredSize(d); 

但這幾乎是一樣的。

我最終按照克利奧帕特拉所說的方式去做了。 不改變 preferredSize 而是讓布局管理器完成這項工作。 因為這是更改組件大小的正確方法。

我有同樣的問題,但使用不同的應用程序 - 我只需要限制我添加到帶有 BoxLayout 的容器的 JPanel 的高度。 所以當我在它上面調用 setMaximumSize 並使用它的 PreferredSize 作為寬度時,結果是它沒有得到我期望的水平尺寸的拉伸; 它的尺寸更短,因為這是它的首選尺寸。 我找不到布局管理器應用的實際寬度,因此不知道在新 Dimension 中使用什么寬度,但我想要的高度設置工作得很好。 最后的答案是:

myJPanel.setMaximumSize(new Dimension(<some overly high width value>, <desired height>));

然后 BoxLayout 管理器給 myJpanel 正確的較低寬度仍然水平填充容器,以及我想要防止垂直拉伸的較低高度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM