[英]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.