You can use Tooling API or Metadata API to create Custom Field. Tooling API is having some bug in creating custom field (which might be resolved as of now). So best would be to use Metadata SOAP API for the same.
This open source project (https://github.com/financialforcedev/apex-mdapi) is an Apex wrapper on Metadata API. You can learn from here and doing the same via Java stubs should be simple then. I also hope you are reading Metadata API docs (http://www.salesforce.com/us/developer/docs/api_meta/api_meta.pdf).
This open source project (https://github.com/financialforcedev/apex-mdapi) is an Apex wrapper on Metadata API. You can learn from here and doing the same via Java stubs should be simple then. I also hope you are reading Metadata API docs (http://www.salesforce.com/us/developer/docs/api_meta/api_meta.pdf).
Here is a code snippet via Apex Metadata API wrapper (https://github.com/financialforcedev/apex-mdapi) to create custom field
This example is pretty close to what you will get in Java stubs, so should be good enough to get you going.
Please let me know if you need more pointers or help.