簡體   English   中英

將組件添加到GLCanvas

[英]Adding components to a GLCanvas

我正在使用在GLCanvas上繪制的應用程序。 我想在其頂部添加一個“浮動菜單”(通過在玻璃窗格中添加菜單,我可以在Swing中執行此操作)。 由於GLCanvas不會擴展Container,因此建議的方法是什么?

GLCanvas繼承自java.awt.Component ,因此,當將GLCanvas添加到JFrame時,可以在包含的JFrame上使用玻璃窗格。

或者,這取決於你想要的視覺效果,你可以,你的場景進行渲染的GLCanvas中后,加入GL調用glOrtho,然后繪制在菜單上使用原語GL本身場景的頂部,(雖然那你會陷於操縱自己的回調行為之類的問題……從問題上我不確定您是否想要了解這一點)。

您是在談論彈出菜單嗎? 您可以將MouseListener添加到GLCanvas中(因為它是從Component擴展而來的),請在MouseListener中檢查mouseEvent.isPopupTrigger(),如果需要,請創建JPopupMenu-因為要在重量級組件上顯示它,請調用setLightweightPopupEnabled( false),然后再顯示JPopupMenu-然后在JPopupMenu上調用show(glCanvas,x,y)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM