Выяснение / расчет ширины символа - PullRequest
0 голосов
/ 09 февраля 2020

Поиск / вычисление ширины символа

panel.add(textfield,BorderLayout.SOUTH);

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

оба возвращают 0, что должно быть больше

графически возвращает, я имею в виду возвращение правильного

Ответы [ 2 ]

2 голосов
/ 09 февраля 2020

Ваша проблема:

Вы, вероятно, вызываете getWidth() и getHeight() для компонента Swing до , когда компонент был отформатирован и обработан Swing, и поэтому в то время компонент не был откалиброван для GUI, и возвращаемые вам значения верны, на самом деле 0.

Решение:

Вместо этого вызывайте метод после вызова pack() или setVisible(true) в окне верхнего уровня, которое содержит компонент JTextField, и после добавления JTextField. Часто это JFrame.

0 голосов
/ 09 февраля 2020

Вы можете добавить компонентный слушатель к объекту, с которым он работал у меня. В этом слушателе вы можете использовать некоторые события, такие как componentResized или componentShown для получения ширины и высоты компонента.

...