Issue: Too get input from the user, there must be input components that display a value and accept input.  However, there is much more to it than that.  There must be a label, to explain to the user what information you want.  And, a way to get help on what information you want, and, the ability to provide an alternate way to get that information, in case the primary way does not make sense to the user.  For the purposes here, I will use the term "component" to refer to low level Java Swing components, and the term "field" to refer to the complete input line, consisting of several "components".

Discussion: The lowest level input, or edit, components are the standard Java Swing components.  These provide the basic entry/display capabilities to have data entered/displayed and retrieved when needed.  The following is a list of the components I use:

Discussion: The components above provide the basic components for input, however, there are other components which will be part of the actual entry field that the user will see.  Every one of these is optional, that is, not every field will have each or any of these components. These are:

Discussion: Originally, I wanted a minimal screen, so I had planned on using a right click on the label to bring up the help screen.  But, with the rise of tablets and other touch screen devices, right clicking would be impossible.  So, now I am using a help button, next to the label, to allow the user to get the help screen.  My preference would be for the help button to be a custom, round button of a question mark.  The help button is optional, so it won't appear with every entry field.  I also had planned to have a ToolTip assigned to every input component, but this too was discarded because of the rise of touch screen devices.  So, here are the various fields, what other components will go with them, and an example:

FieldComponent Sample
TextJTextField
Text Read OnlyJTextField
IntegerJFormattedTextField
Integer Read OnlyJFormattedTextField
Integer DropJComboBox
Integer SpinJSpinner
DateJFormattedTextField
CurrencyJFormattedTextField
PercentJFormattedTextField %
ChoiceJComboBox
Yes/NoJComboBox
ButtonJButton
Help ButtonJButton
ListJList
Radio ButtonsJRadioButton Add
Edit
Delete

Discussion:Thus in a left to right orientation, a sample edit field might look like:

              Birthdate    
Notice this has a help button, a label, an input component, and and alternate input component, which would be a button which when clicked (or touched) would bring up a calendar widget (dialog).  Note also, that the percent field in the list above has a trailing label.  This is not the only field with a trailing label.