2012-04-06 10 views
1

実際に私はJDesktopPaneの中心部でのJInternalFrameを示したいと私はJframesでそれを使用すると、私はこのMethodeのを使用しますが、それはうまくいきませんでした:JdesktopPaneの中央にJinternalFrameを設定する方法は?

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

別Methodeのがある場合ので、私は求めています私はJdesktoPaneの中心にJinternalFrameを表示することができます。 ありがとう

+1

*を*私が「したい」などの用語のすべての文字を綴るでしょう人に対応します。 ***次!*** –

答えて

5

A javax.swing.JInternalFramejava.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); 
関連する問題