If your talking about the HMAC function used internally by PBKDF2 for key streching, you don't need to supply a key, it will create one from the inputs.
If you wanted to use PBKDF2 to create key material for an HMAC function, then below works.
You init a Mac function the same way you'd do it with a cipher.
Using your pbkdf2
method above.
byte[] key = pbkdf2(password, salt, 1000, 16)
Mac mac = Mac.getInstance("HmacSHA1");
mac.init(new SecretKeySpec(key, "HmacSHA1");
byte[] macResult = mac.doFinal(...);