Я пытаюсь встроить HWND (Window Handle) в JPanel.Вставить HWND (Window Handle) в JPanel
На самом деле, я могу встроить свой HWND в JFrame, но встроенное окно всегда остается поверх другого компонента, и я не могу его переместить. Если попытаться удалить весь дочерний компонент моего JFrame, HWND останется там. HWND, кажется, краска поверх JFrame, а не как один из детей.
Чтобы встроить HWND в JPanel я использую user32 через ЮНА:
User32.SetParent(iage.getRenderHwnd(), (int) getGUIHwnd(j));
И я использую это, чтобы получить HWND моей JFrame:
j.getPeer() != null ? ((WComponentPeer) j.getPeer()).getHWnd(): 0;
Есть ли способ, чтобы встроить HWND в JPanel или добавить его в другой компонент, чтобы я мог позиционировать его так же, как и в моем пользовательском интерфейсе?
Благодаря
Большое спасибо, я могу связать свой HWND на холсте и добавить его в JPanel после этого. – Etienne
Добро пожаловать! Имейте в виду: может быть много неожиданных эффектов, смешивающих тяжело взвешенные компоненты в легковесных контейнерах (т. Е. Холст в JPanel), Java сделал некоторые улучшения по указанному вопросу, но все равно будьте осторожны. Тем не менее, я не использую тяжеловесные вещи, например, 9 лет. – bestsss