Ваша проблема:
Вы, вероятно, вызываете getWidth()
и getHeight()
для компонента Swing до , когда компонент был отформатирован и обработан Swing, и поэтому в то время компонент не был откалиброван для GUI, и возвращаемые вам значения верны, на самом деле 0
.
Решение:
Вместо этого вызывайте метод после вызова pack()
или setVisible(true)
в окне верхнего уровня, которое содержит компонент JTextField, и после добавления JTextField. Часто это JFrame.