嘿,我只是想知道是否有办法设置JTextField宽度,例如50%的屏幕尺寸。我知道如何获得屏幕尺寸JTextField将其设置为字符数而不是像素
textfield = new JTextField(“Way hello there”,20);
有办法做到这一点吗?
答案 0 :(得分:2)
以像素为单位设置JTextField
的大小会导致您使用绝对定位的路径,这通常是不可取的。来自Doing Without a Layout Manager
虽然可以不使用布局管理器,但是如果可能的话,应该使用布局管理器。布局管理器也可以被其他容器以及其他程序轻松地重用。
查看现有layout managers和avoid using the setXXXSize() component methods提供的功能。例如,GridLayout
(或甚至GridBagLayout
)可用于将JTextField
宽度调整为框架客户区的50%。
答案 1 :(得分:-1)
您可以使用setSize()方法设置JTextField组件的大小。
public void setSize(int width,
int height)
调整此组件的大小,使其具有宽度宽度和高度。 参数: width - 此组件的新宽度(以像素为单位) 高度 - 此组件的新高度(以像素为单位)
Javadoc:http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Component.html#setSize(int,int)
修改强> 添加到GridLayout的任何组件都将调整为与添加的最大组件相同的大小。如果您希望组件保持其首选大小,则将该组件包装在JPanel中,然后调整面板大小:
也可以使用setPreferredSize
代替setSize
。