Вы можете сохранить его положение, прежде чем его свернуть, а затем, когда оно будет восстановлено, сброс будет местоположением.
public class A extends JFrame implements WindowListener{
//...
private Point p;
public void windowIconified(WindowEvent e) {
//minimized
p = getLocation();
}
public void windowDeiconified(WindowEvent e) {
//restored
setLocation(p);
}
}