Recommandez moi un Objet Graphique SVP
Résolu
oubaalouni
Messages postés
5
Statut
Membre
-
oubaalouni Messages postés 5 Statut Membre -
oubaalouni Messages postés 5 Statut Membre -
Bonjour,
J'aimerai développer une interface graphique en JAVA qui ressemble a "google traduction" mais je ne sais pas quel objet graphique utiliser pour le faire apparaître un mot en jaune lorsque la sourie est sur ce dernier.
Je précise ce n'ai pas le traducteur en lui même qui m'intéresse mais plutôt le graphique utilisé pour mettre en valeur les mots que la sourie survole.
Merci pour votre aide.
Bonne journée :)
J'aimerai développer une interface graphique en JAVA qui ressemble a "google traduction" mais je ne sais pas quel objet graphique utiliser pour le faire apparaître un mot en jaune lorsque la sourie est sur ce dernier.
Je précise ce n'ai pas le traducteur en lui même qui m'intéresse mais plutôt le graphique utilisé pour mettre en valeur les mots que la sourie survole.
Merci pour votre aide.
Bonne journée :)
A voir également:
- Recommandez moi un Objet Graphique SVP
- Changer carte graphique - Guide
- Comment faire un graphique sur excel - Guide
- Graphique sparkline - Guide
- Faire un graphique camembert - Guide
- Vente objet occasion entre particulier - Guide
3 réponses
Ok, alors voici un exemple complet:
;-)
HackTrack
package hacktrack.highlighter; import java.awt.Color; import java.awt.Container; import java.awt.Point; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.EventObject; import javax.swing.BorderFactory; import javax.swing.JFrame; import javax.swing.JTextArea; import javax.swing.event.CaretEvent; import javax.swing.event.CaretListener; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultHighlighter; public class HighlighterDemo extends JFrame { private static final long serialVersionUID = 6086759176279462425L; public HighlighterDemo() { super("Highlighter Demo"); init(); } private void init() { setDefaultCloseOperation(EXIT_ON_CLOSE); Container c = getContentPane(); JTextArea textArea = new JTextArea( "Petite démo de 'highlight' en Swing", 10, 40); HighlighterListener highlighterListener = new HighlighterListener(); textArea.addCaretListener(highlighterListener); textArea.addMouseListener(highlighterListener); textArea.addMouseMotionListener(highlighterListener); textArea.setBorder(BorderFactory .createTitledBorder("Tape du texte ici, puis sélectionne un mot ou déplace la souris sur un mot")); c.add(textArea); } class HighlighterListener extends MouseAdapter implements CaretListener { @Override public void caretUpdate(CaretEvent e) { int selectionEnd = e.getDot(); int selectionBegin = e.getMark(); int begin = getTextBeginIndex(getText(e), selectionBegin); int end = getTextEndIndex(getText(e), selectionEnd); try { highlight((JTextArea) e.getSource(), begin, end); } catch (BadLocationException e1) { e1.printStackTrace(); } } @Override public void mouseMoved(MouseEvent e) { int x = e.getX(); int y = e.getY(); JTextArea textArea = (JTextArea) e.getSource(); int locationOfCharUnderMouse = textArea .viewToModel(new Point(x, y)); int begin = getTextBeginIndex(getText(e), locationOfCharUnderMouse); int end = getTextEndIndex(getText(e), locationOfCharUnderMouse); try { highlight((JTextArea) e.getSource(), begin, end); } catch (BadLocationException e1) { e1.printStackTrace(); } } private String getText(EventObject e) { return ((JTextArea) e.getSource()).getText(); } private int getTextBeginIndex(String text, int startFromIndex) { for (int i = startFromIndex - 1; i > -1; i--) { if (text.substring(i, i + 1).equals(" ")) return i + 1; } return 0; } private int getTextEndIndex(String text, int startFromIndex) { for (int i = startFromIndex; i < text.length(); i++) { if (text.substring(i, i + 1).equals(" ")) return i; } return text.length(); } private void highlight(JTextArea textarea, int begin, int end) throws BadLocationException { DefaultHighlighter.DefaultHighlightPainter highlighter = new DefaultHighlighter.DefaultHighlightPainter( Color.YELLOW); textarea.getHighlighter().removeAllHighlights(); textarea.getHighlighter().addHighlight(begin, end, highlighter); } } public static void main(String[] args) { HighlighterDemo demo = new HighlighterDemo(); demo.pack(); demo.setVisible(true); } }
;-)
HackTrack
:)
Au revoir.