![](/img/trans.png)
[英]How to setVisible a JinternalFrame in the center of the JdesktopPane?
[英]How to make JInternalFrame(s) in JDesktopPane non-overlapping
我在JDesktopPane中有多個JInternalFrame。 所有JInternalFrame都未修飾,我使用鼠標偵聽器管理拖動。 但是,我希望內部框架不重疊,即一個內部框架不應與另一內部框架相交。
到現在為止,我可以使用getBounds()。intersects()方法檢查兩個內部框架是否重疊。 但是,我不知道下一步該怎么做。
我嘗試了Google,但沒有得到滿意的答案。 請提出解決方案。
謝謝 !
兩個答案:
例如
JDesktopPane desktopPane = new JDesktopPane();
contentPane.add(desktopPane);
JInternalFrame internalFrame = new JInternalFrame("New JInternalFrame");
desktopPane.add(internalFrame);
desktopPane.setComponentZOrder(internalFrame, 0);
將setComponentZOrder函數放置在JInternalFrame組件偵聽器中。
internalFrame.addComponentListener(new ComponentAdapter() {
@Override
public void componentMoved(ComponentEvent e) {
desktopPane.setComponentZOrder(internalFrame, 0);
}
});
2.如果您希望它們嚴格不重疊,請將它們放在單獨的jframe中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.