Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.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 如何设置JTextField的大小(以像素为单位)_Java_Swing_User Interface_Jtextfield_Preferredsize - Fatal编程技术网

Java 如何设置JTextField的大小(以像素为单位)

Java 如何设置JTextField的大小(以像素为单位),java,swing,user-interface,jtextfield,preferredsize,Java,Swing,User Interface,Jtextfield,Preferredsize,嘿,我只是想知道是否有一种方法可以设置JTextField宽度,例如屏幕大小的50%。我知道如何获得屏幕的尺寸,只是JTextField将其设置为字符数而不是像素数 textfield=新的JTextField(“你好”,20) 有没有办法做到这一点?您可以使用setSize()方法来设置JTextField组件的大小 public void setSize(int width, int height) 调整此组件的大小,使其具有宽度和高度。 参数: 宽

嘿,我只是想知道是否有一种方法可以设置JTextField宽度,例如屏幕大小的50%。我知道如何获得屏幕的尺寸,只是JTextField将其设置为字符数而不是像素数

textfield=新的JTextField(“你好”,20)

有没有办法做到这一点?

您可以使用setSize()方法来设置JTextField组件的大小

public void setSize(int width,
                    int height)
调整此组件的大小,使其具有宽度和高度。 参数: 宽度-此组件的新宽度(以像素为单位) 高度-此组件的新高度(以像素为单位)

Javadoc:,int)

编辑: 添加到GridLayout的任何组件的大小都将调整为与添加的最大组件相同的大小。如果希望组件保持其首选大小,请将该组件包装在JPanel中,然后面板将调整大小:

也可以使用
setPreferredSize
而不是
setSize

您可以使用setSize()方法设置JTextField组件的大小

public void setSize(int width,
                    int height)
调整此组件的大小,使其具有宽度和高度。 参数: 宽度-此组件的新宽度(以像素为单位) 高度-此组件的新高度(以像素为单位)

Javadoc:,int)

编辑: 添加到GridLayout的任何组件的大小都将调整为与添加的最大组件相同的大小。如果希望组件保持其首选大小,请将该组件包装在JPanel中,然后面板将调整大小:


也可以使用
setPreferredSize
而不是
setSize

设置
JTextField
的大小(以像素为单位),这会引导您使用绝对定位,这通常是不可取的。从

虽然可以不使用布局管理器,但如果可能的话,应该使用布局管理器。布局管理器也可以被其他容器以及其他程序轻松重用


请查看现有和现有系统提供的功能。例如,
GridLayout
(甚至
gridbagloayout
)可用于将
JTextField
宽度调整为帧客户端区域的50%。

以像素为单位设置
JTextField
的大小会引导您使用绝对定位,这通常是不可取的。从

虽然可以不使用布局管理器,但如果可能的话,应该使用布局管理器。布局管理器也可以被其他容器以及其他程序轻松重用


请查看现有和现有系统提供的功能。例如,
GridLayout
(甚至是
gridbagloayout
)可以用来将
JTextField
宽度调整到帧客户区的50%。

忘记了以像素为单位的设置坐标,必须使用适当的布局管理器,默认情况下有两个树布局管理器可以做到这一点。忘记了以像素为单位的设置坐标,必须使用适当的布局管理器,有两个树布局管理器,可以通过默认设置来实现这一点,但它似乎不会改变大小。它仍然是文本字段中文本的宽度。永远不要使用set[Preferred | Minimum | Maximum]Size。嗯,我试过了,它似乎没有改变大小。它仍然是文本字段中文本的宽度。永远不要使用set[Preferred | Minimum | Maximum]Size。