其实我想告诉JInternalFrame的在JDesktopPane中的中心,我用这个梅索德正如我在Jframes使用它,但它没有工作:
Extraction ex=new Extraction();//Extraction is the name of the JintenalFrame jDesktopPane1.add(ex); ex.setLocationRelativeTo(this); ex.setVisible(true);
所以我问,如果有另一个梅索德这样我就可以在JdesktoPane中心显示的JInternalFrame。 谢谢
一个javax.swing.JInternalFrame
缺乏便捷setLocationRelativeTo(null)
中发现的实施java.awt.Window
,但可以使用类似的方法。 只是减去从相应的中心内部框架的宽度和高度的一半桌面窗格的坐标。 使用新的坐标,在调用setLocation()
您还需要在必要时调整内部框架的尺寸。
尝试是这样的:
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);