求 out/calculating 个符号的宽度

Finding out/calculating the width of a symbol

寻找out/calculating符号的宽度

panel.add(textfield,BorderLayout.SOUTH);

system.out.println(textfield.getWidth());
System.out.println(textfield.getHeight());

都是return0,应该多

图形 returns,我的意思是 return 正确

您可以将组件侦听器添加到它在我这里工作的对象。 在这个侦听器中,您可以使用一些事件,例如 componentResized 或 componentShown 来获取组件的宽度和高度。

您的问题:

您可能在 Swing 组件上调用 getWidth()getHeight() 之前 组件已被 Swing 调整大小和呈现,因此 当时 组件还没有针对 GUI 调整大小,返回给您的值是正确的,实际上是 0

解决方案:

相反,在包含 JTextField 组件的顶层 window 上调用 pack()setVisible(true) 并添加 JTextField 之后调用该方法。通常这是一个 JFrame。