Я использую Jogl для создания GLJPanel внутри проекта модуля платформы Netbeans (это очень специфический тип Java-приложения, которое создает модульное окно в приложении платформы NetBeans, поэтому есть несколько окон, которые можно перетаскивать).
Я не могу использовать GLCanvas, потому что он не работает в Windows или Linux (Netbeans и Jogl в значительной степени совпадают в аду).Я не могу использовать NEWT, потому что это не работает на Mac.Поэтому я использую GLJPanel, хотя он и медленный.
Во всяком случае, сначала он обычно работает.Затем, если я изменяю размер или делаю что-то еще в программе, окно, кажется, теряет фокус и никогда не восстанавливает его.Окно не будет перерисовываться.Я все еще получаю события мыши (никаких ключевых событий, хотя!).Я знаю это, потому что я могу нажать на другое окно, и оно перерисовает GLJPanel один раз.В противном случае экран не перерисовывается.
Я перепробовал все комбинации установки sun.java2d.opengl и sun.java2d.noddraw в true и false, согласно http://jogamp.org/deployment/jogamp-next/javadoc/jogl/javadoc/javax/media/opengl/awt/GLCanvas.html#java2dgl
Эточасть проекта с открытым исходным кодом, поэтому источник моего компонента находится по адресу
https://github.com/mtakemiya/BMIDesktop/blob/dfe63cc789d42bff99922f36b683bd88e64632df/timeline/src/jp/atr/dni/bmi/desktop/timeline/TimelineTopComponent.java
Я что-то делаю явно неправильно?