[英]Java3D with Canvas3D and button overlapping
我一直在使用Java3D對固態物理學做一些介紹。 在深入研究內部的許多3D事物之后,決定放置一些按鈕來測試不同的事物。 我的問題出現在這里。
在下圖中,我正在使用setLayout(null)放置按鈕和Canvas3D:
我在這里不想要的是:
然后我嘗試使用setLayout(new BorderLayout());
並add("Center",component);
對於Canvas3D,而“南”,“西”,“東”則為按鈕。 下圖顯示了這種情況:
這看起來更好,但是這次又出現了另一個問題:
問題:當按鈕正好放在我想要的位置(x,y)且具有我想要的尺寸(h,w)而又不被Canvas3D覆蓋時,如何使Canvas3D拉伸到窗口。 我為Canvas3D和Buttons->失敗嘗試了不同的布局。 僅顯示一種布局。
感謝您的時間。
Java3D 1.5.2和Eclipse。 Windows XP和Intel Centrrino
這實際上不是Java3D問題,而是Swing Layout問題。
正確的解決方案可能是某種嵌套布局,具體取決於您希望它看起來如何。
例如,您可以嘗試使用邊框布局,在按鈕的北側或西側具有嵌套的FlowLayout,這可能更接近您要查找的內容。 嘗試以下類似方法,然后根據需要進行自定義。
JPanel rootPanel = new JPanel(new BorderLayout());
JPanel controlPanel = new JPanel(new FlowLayout());
controlPanel.add(new JButton("Alpha"));
controlPanel.add(new JButton("Beta"));
controlPanel.add(new JButton("Gamma"));
rootPanel.add(controlPanel, BorderLayout.NORTH);
rootPanel.add(myCanvas3D, BorderLayout.CENTER);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.