Create a GUI to update parameters of an Object
I see a couple potential issues with the code beside the duplication of code in focus listeners that you mention:


you treat the text the user typed into a text field as a key of map that contains the Gobs without checking if such key exists - what will happen when the user types a nonexisting key?
the name of the texfield that identifies the Gob (gobNumber) indicates that the gob is identified by a numerical value, yet the key of the map is a String. Either a numerical value should be used as the key of the map or the textfield could be renamed to avoid the confusion


To deal with the duplication - a basic way of generalizing the focus listeners would be to use the Template method pattern. You could extract the code that would be duplicated for each listener to an abstract class and then delegate the parts that would be different to a specific subclass.

public abstract class UpdateGobFocusListener implements FocusListener
{
    private final Map&lt;String, Glob&gt; globs;
    private final JTextField globNumberTextField;

    public UpdateGobFocusListener(Map&lt;String, Glob&gt; globs, JTextField globNumberTextField)
    {
        this.globs = globs;
        this.globNumberTextField = globNumberTextField;
    }

    public void focusGained(FocusEvent e)
    {

    }

    public void focusLost(FocusEvent e)
    {
        Glob glob = globs.get(globNumberTextField.getText());
        updateGlob(glob);
    }

    protected abstract void updateGlob(Glob glob);

}


And an example of a subclass:

public class DateGlobUpdater extends UpdateGobFocusListener
{

    private final JTextField dateTextField;

    public DateGlobUpdater(JTextField dateTextField, Map&lt;String, Glob&gt; globs, JTextField globNumberTextField)
    {
        super(globs, globNumberTextField);
        this.dateTextField = dateTextField;
    }

    @Override
    protected void updateGlob(Glob glob)
    {
        glob.date = dateTextField.getText();
    }

}


Alternatively, if you prefer Composition over inheritance, you could extract the duplicated code to a general focus listener, create a GobUpdater interface and then move the different parts to a separate implementation of the interface each. The general focus listener could be injected with the specific implementation through a constructor.