jkteater
asked on
How do I center my Dialog window on the screen?
When my Panel opens it is always on the upper left side of the screen. How can I have it open in the center of the screen?
public void createDialog() {
appReg = Registry.getRegistry(this);
setTitle(appReg.getString("edi.TITLE"));
Component selectionsPanel = selectedTable();
Component buttonPanel = OKCancelButtons();
Component currentPanel = currentItems();
centerPanel = new JPanel();
centerPanel.setLayout(new BoxLayout(centerPanel, BoxLayout.PAGE_AXIS));
centerPanel.setPreferredSize(new Dimension(750, 350));
centerPanel.add(Box.createRigidArea(new Dimension(5, 0)));
centerPanel.add(currentPanel);
centerPanel.add(selectionsPanel);
centerPanel.add(Box.createHorizontalGlue());
centerPanel.add(Box.createRigidArea(new Dimension(0, 2)));
centerPanel.add(buttonPanel);
getContentPane().add(centerPanel);
addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent event) {
Component c = event.getComponent();
c.setSize(Math.max((int)centerPanel.getPreferredSize().getWidth()/2, c.getWidth()),
Math.max((int)centerPanel.getPreferredSize().getHeight()/2, c.getHeight()));
}
});
this.pack();
setLocation(getParent().getLocation(null));
//Display the window.
centerPanel.setVisible(true);
}// end createDialog()
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Sorry - i thought that was the name of a JDialog. You need to call that on the dialog instance
btw, the reason i thought that was that you called setVisible on it (JPanel is visible by default)
:)
ASKER