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

时间:2012-12-12 21:10:54

标签: java swing user-interface jtextfield preferredsize

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

textfield = new JTextField(“Way hello there”,20);

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:2)

以像素为单位设置JTextField的大小会导致您使用绝对定位的路径,这通常是不可取的。来自Doing Without a Layout Manager

  

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

查看现有layout managersavoid 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