簡體   English   中英

如果用戶調整框架大小,如何擴展/縮小glcanvas(Jogl)?

[英]How to expand/shrink glcanvas (Jogl) if the user resizes the frame?

我在帶有BorderLayout的jpanel里面有一個glcanvas。 畫布的大小應取決於窗口大小。 初始大小通過設置

glCanvas.setSize(640, 480);

並將它添加到面板中

jPanel3DModel.add(Model3DCanvas.getInstance().getCanvas());
jPanelRight.add(jPanel3DModel, BorderLayout.NORTH);

但是,畫布的大小是固定的,並且我的框架中其他組件的所有面板都會調整大小。

如果您必須“手動”調整JPanel大小,可以使用https://docs.oracle.com/javase/tutorial/uiswing/events/componentlistener.html中所述的ComponentListener

假設canvas是你的GLCanvas和jpanel你的畫布調整大小依賴的組件。

jPanel.addComponentListener(new java.awt.event.ComponentAdapter() {
  public void componentResized(java.awt.event.ComponentEvent event) {
    int width=event.getComponent().getWidth();
    int height=event.getComponent().getHeight();
    canvas.setSize(width,height);
  }
});

暫無
暫無

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

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