2009-12-08 7 views

Répondre

5

Créez un objet JTextField personnalisé et remplacez la méthode paint(). Quelque chose comme:

public void paint(Graphics g) 
{ 
    super.paint(g); 
    // do custom painting here 
} 

Note: normalement peinture personnalisée est fait en redéfinissant la méthode paintComponent (..) d'un composant. Donc, vous pouvez aussi le faire:

public void paintComponent(Graphics g) 
{ 
    super.paintComponent(g); 
    // do custom painting here 
} 

et le résultat sera le même parce qu'un JTextField n'a pas de composants enfants ajoutés. Cependant, j'ai suggéré d'utiliser la peinture (...) parce que cette approche fonctionnerait si vous vouliez peindre des lignes diagonales sur un composant (comme JPanel) qui supporte les composants enfants. S'il vous plaît assurez-vous de comprendre la différence entre les deux méthodes en lisant la section du tutoriel Swing sur Custom Painting. Ou une autre option serait de créer un surligneur personnalisé qui dessine des lignes diagonales sur le texte sélectionné. Le RectanglePainter peut vous aider à démarrer avec cette approche.

Vous avez donc plusieurs options différentes selon vos besoins.