Alvin Cabusa - 2017-06-21

missing . . .

protected void paintSafely(Graphics g) {
  ......
  if (dropCaret != null) {  //<<-- 
        dropCaret.paint(g);
        }

}

alternative . . .

 protected void paintSafely(Graphics g) {

    if (!this.changeListenerAdded) {
        this.changeListenerAdded = true;
        this.textField.getDocument()
        .addDocumentListener(this.changeListener);
    }

    Graphics2D g2 = (Graphics2D) g;

    g2.setRenderingHint(
        RenderingHints.KEY_ANTIALIASING, 
        RenderingHints.VALUE_ANTIALIAS_ON);

    g2.setRenderingHint(
            RenderingHints.KEY_ALPHA_INTERPOLATION,
            RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);

    if ((this.textField.isEditable()) && (this.textField.getClientProperty("joxy.isEditor") == null)) {
        paintBackground(g);
        if ((this.clearButtonOpacity > 0) && (this.textField.isEnabled())) {
            paintClearButton(g, this.clearButtonOpacity);
        }
    }

    ((Graphics2D) g).setRenderingHint(
        RenderingHints.KEY_TEXT_ANTIALIASING,
        RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB);

    super.paintSafely(g);

}