Для центрирования JFrame относительно какого-либо компонента используется метод .setLocationRelativeTo, если подать ему в качестве аргумента null, будет произведена центровка относительно экрана:

frame.setLocationRelativeTo(null);

Для своих проектов я написал библиотеку для работы с окнами, в которую вошел вот такой метод, реализующий центровку:

public static void moveJFrameToCenter(JFrame frame) {
  Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize();
  int w = frame.getSize().width;
  int h = frame.getSize().height;
  int x = (screenDimension.width-w)/2;
  int y = (screenDimension.height-h)/2;
  frame.setLocation(x, y);
}