You can adjust fee per kb with Context class. This is my context:
context = new Context(this.params, 50, Coin.valueOf(500000), true);
Coin.valueOf(500000) is setting fee per kb. You can adjust fee with this. You can extend Wallet class and override calculateFee() method and you can set fee directly. But this is a little complex method and you must be carefully.
If you create context with default settings then it set fee per kb as DEFAULT_TX_FEE and it's value is Coin.valueOf(100000) (1 mBTC) This is too low. I set this with 500000 this is more good.
You can look to Context constructor. There is explanation for every params.
* @param params The network parameters that will be associated with this context.
* @param eventHorizon Number of blocks after which the library will delete data and be unable to always process reorgs (see {@link #getEventHorizon()}.
* @param feePerKb The default fee per 1000 bytes of transaction data to pay when completing transactions. For details, see {@link SendRequest#feePerKb}.
* @param ensureMinRequiredFee Whether to ensure the minimum required fee by default when completing transactions. For details, see {@link SendRequest#ensureMinRequiredFee}.