codice:
final String PATH_ADOBE_READER = "D:/Programmi/Adobe/Acrobat Reader 7.0/Reader/AcroRd32.exe";
Qui è dove lo tengo io...

Per come la vedo io, dovresti provvedere la tua applicazione di un sistema che al primo avvio della stessa richieda all'utente di configurare un po' di variabili d'ambiente (Leggere e scrivere su un file di testo) - ed un eventuale menu per modifiche successive.

Altrimenti, questo è quanto ho scritto per fare la stampa con il package che ti ho suggerito

codice:
import org.jdesktop.jdic.*;
import java.io.*;

public class newPrint {

  private File file;

  public boolean isPrintable() {
    return org.jdesktop.jdic.desktop.Desktop.isPrintable(file);
  }

  public void print() throws Exception {
    org.jdesktop.jdic.desktop.Desktop.print(file);
  }

  public newPrint(String f) {
    file = new File(f);
  }

  public static void main (String[] args) {
    newPrint p = new newPrint("C:\\test-doc.pdf");
    System.out.println(p.isPrintable());
    try {
      p.print();
    }
    catch (Exception e) {
      System.out.println(e.toString());
    }
  }
}
Niente di trascendentale (anzi, direi più facile che programmare una interfaccia utente per il settaggio di variabili d'ambiente... e soprattutto ti eviti che un utonto non sappia dove andare a trovare AcroRd32.exe - e tali utonti sono molti più di quanto tu possa credere, parlo per esperienza...)