嘿,我只是想知道是否有办法将 JTextField 宽度设置为例如屏幕大小的 50%。我知道如何获取屏幕的尺寸只是 JTextField 将其设置为字符数而不是像素
textfield = new JTextField("你好", 20);
有没有办法做到这一点 ?
嘿,我只是想知道是否有办法将 JTextField 宽度设置为例如屏幕大小的 50%。我知道如何获取屏幕的尺寸只是 JTextField 将其设置为字符数而不是像素
textfield = new JTextField("你好", 20);
有没有办法做到这一点 ?
以像素为单位设置大小JTextField
会导致您走上使用绝对定位的道路,这通常是不可取的。从没有布局管理器的情况下
尽管可以不使用布局管理器,但您应该尽可能使用布局管理器。布局管理器也可以很容易地被其他容器以及其他程序重用。
Have a look at the functionality offered by existing layout managers and avoid using the setXXXSize() component methods. For example, GridLayout
( or even GridBagLayout
) can be used to size a JTextField
width to 50% of a frame client area.
您可以使用 setSize() 方法来设置 JTextField 组件的大小。
public void setSize(int width,
int height)
调整此组件的大小,使其具有宽度宽度和高度高度。参数: width - 此组件的新宽度(以像素为单位) height - 此组件的新高度(以像素为单位)
Javadoc:http ://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Component.html#setSize (int , int)
编辑: 添加到 GridLayout 的任何组件都将调整为与添加的最大组件相同的大小。如果您希望组件保持其首选大小,则将该组件包装在 JPanel 中,然后面板将调整大小:
也使用setPreferredSize
代替setSize
.