List of usage examples for javax.swing.text JTextComponent getBackground
@Transient
public Color getBackground()
From source file:FancyCaret.java
public void paint(Graphics g) { JTextComponent comp = getComponent(); if (comp == null) return;//from w ww . j a va 2s. co m int dot = getDot(); Rectangle r = null; char dotChar; try { r = comp.modelToView(dot); if (r == null) return; dotChar = comp.getText(dot, 1).charAt(0); } catch (BadLocationException e) { return; } if ((x != r.x) || (y != r.y)) { repaint(); x = r.x; y = r.y; height = r.height; } g.setColor(comp.getCaretColor()); g.setXORMode(comp.getBackground()); if (dotChar == '\n') { int diam = r.height; if (isVisible()) g.fillArc(r.x - diam / 2, r.y, diam, diam, 270, 180); // half circle width = diam / 2 + 2; return; } if (dotChar == '\t') try { Rectangle nextr = comp.modelToView(dot + 1); if ((r.y == nextr.y) && (r.x < nextr.x)) { width = nextr.x - r.x; if (isVisible()) g.fillRoundRect(r.x, r.y, width, r.height, 12, 12); return; } else dotChar = ' '; } catch (BadLocationException e) { dotChar = ' '; } width = g.getFontMetrics().charWidth(dotChar); if (isVisible()) g.fillRect(r.x, r.y, width, r.height); }