Olá Pessoal!
Eis a classe de cursor visível que eu consegui aqui no fórum do GUJ:import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Rectangle;
import javax.swing.text.BadLocationException;
import javax.swing.text.DefaultCaret;
import javax.swing.text.JTextComponent;
/**
*
* @author Guilherme Hermeto
*/
public class CursorVisivel extends DefaultCaret {
private static final long serialVersionUID = 1331798802240895022L;
private int charLargura = 0;
private int charAltura = 0;
private JTextComponent component;
public CursorVisivel(JTextComponent text) {
component = text;
}
@Override
public void paint(Graphics g) {
try {
if (isVisible()) {
JTextComponent c = getComponent();
int dot = getDot();
Rectangle r = c.modelToView(dot);
g.setColor(c.getCaretColor());
g.drawRect(r.x, r.y, charLargura, charAltura);
Color temp = g.getColor();
g.setColor(Color.BLACK);
g.fillRect(r.x, r.y, charLargura, charAltura);
g.setColor(temp);
repaint();
} else {
g.setColor(component.getBackground());
}
} catch (BadLocationException e) {
}
}
@Override
public synchronized void damage(Rectangle r) {
Font f = getComponent().getFont();
FontMetrics fm = getComponent().getFontMetrics(f);
charLargura = fm.charWidth('k');
charAltura = fm.getHeight();
x = r.x - 2;
y = r.y - 2;
width = charLargura + 4;
height = charAltura;
repaint();
}
}
O problema é que o caret não está piscando e eu gostaria que ele ficasse como na figura em anexo.
Tem alguma maneira?
Obrigada
