2012-04-06 34 views
1

其實我想告訴JInternalFrame的在JDesktopPane中的中心,我用這個梅索德正如我在Jframes使用它,但它沒有工作:如何在JdesktopPane的中心設置一個可見的JinternalFrame?

Extraction ex=new Extraction();//Extraction is the name of the JintenalFrame jDesktopPane1.add(ex); ex.setLocationRelativeTo(this); ex.setVisible(true);

,所以我問,如果有另一個梅索德所以我可以在JdesktoPane的中心顯示JinternalFrame。 謝謝

+1

*「其實我想。」 *我想與人們會拼寫方面的所有字母像對應「想」。 ***下一個!*** – 2012-04-06 17:03:01

回答

5

一個javax.swing.JInternalFrame缺乏java.awt.Window發現方便setLocationRelativeTo(null)實現,但你可以使用類似的方法。只需從桌面窗格的相應中心座標中減去內部框架的寬度和高度的一半即可。在您致電setLocation()時使用新座標。

如果需要,您還需要調整內部框架的尺寸。

7

試着這麼做:

JDesktopPane mainPanel; 
JInternalFrame jif_test = new JInternalFrame(); 

public void centerJIF(JInternalFrame jif) { 
    Dimension desktopSize = mainPanel.getSize(); 
    Dimension jInternalFrameSize = jif.getSize(); 
    int width = (desktopSize.width - jInternalFrameSize.width)/2; 
    int height = (desktopSize.height - jInternalFrameSize.height)/2; 
    jif.setLocation(width, height); 
    jif.setVisible(true); 
} 

而且

centerJIF(jif_test); 
相關問題