Мне нужно найти точный размер экрана компонента в пикселях при изменении размера основного JFrame.
Я пробовал несколько вещей и не мог найти простой способ сделать это: возможно, он упустил что-то очевидное.
BBBBB JFRAME BORDER BBB
BZZZZZZZZZZZZZZZZZZZZZB
BAAAAAAAAAAAAAAAAAAAAAB
BCC1................DDB
BCCC................DDB
BCCC................DDB
BCCC................DDB
BCCC................2DB
BEEEEEEEEEEEEEEEEEEEEEB
BBBBBBBBBBBBBBBBBBBBBBB
Изменение размера может стать таким, если, скажем, пользователь сделает основной JFrame короче (по вертикали) и шире (по горизонтали):
BBBBBB JFRAME BORDER BBBBBB
BZZZZZZZZZZZZZZZZZZZZZZZZZB
BAAAAAAAAAAAAAAAAAAAAAAAAAB
BCC1....................DDB
BCCC....................2DB
BEEEEEEEEEEEEEEEEEEEEEEEEEB
BBBBBBBBBBBBBBBBBBBBBBBBBBB
Мне нужно найти точный размер в пикселях на экране области прямоугольника, обозначенной точками.
Я добавляю ComponentListener
, чтобы получить события изменения размера, что прекрасно работает.
Проблема, с которой я столкнулся, заключается в том, что вызов getWidth () / getHeight () для компонента, по-видимому, не возвращает размер экрана компонента, но фактический размер компонента (и вы можете, например, JPanel шире, чем компонент, в который он входит).
Любая подсказка приветствуется.