1)
Be' del tutto indipendente dalle dimensioni dello schermo penso sia impossibile , infatti tu magari richiami un metodo che non prende esplicitamente valori ma fa internamente dei calcoli sulle dimensioni dello schermo..comunque ci sono due modi per fare ciò che chiedi:
codice:
frame.setLocationRelativeTo(null);
oppure con qualche riga di codice in più:
codice:
Dimension dimensioniSchermo=Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation(((int) dimensioniSchermo.getWidth() / 2) - frame.getWidth() / 2, ((int) dimensioniSchermo.getHeight() / 2) - frame.getHeight() / 2);
2)dalla documentazione ufficiale stai usando la forma:
codice:
showMessageDialog(Component parentComponent, Object message)
e dalla spiegazione della stessa fonte:
parentComponent - determines the Frame in which the dialog is displayed; if null, or if the parentComponent has no Frame, a default Frame is used
message - the Object to display