IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Besoin d'aide pour ActionListener


Sujet :

AWT/Swing Java

  1. #1
    Membre habitué Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Points : 166
    Points
    166
    Par défaut
    Voila je recherche de l'aide pour mettre un action listener sur un libelle ou du moin sur une partie du libellé, qui suivant le cas n'est pas toujours le meme. Si quelqu'un pouvait m'aider ca serais sympas. Merci d'avance et bonne journée

    J'ais fais des recherches sur le net, sur les FAQ, ou sur les tutaux et je n'ais absolument rien trouvé... Alors je me demande si c'est seulement possible...
    Java c'est pas de la menthe a l'eau
    Et n'oubliez pas : Ne pas respirer tue...
    Mon BLOOOUUUG Un site trop bien

    Pour la recherche JAVA des liens pratiques :
    GOOGLE LA JAVADOC LES FAQ LES ARCHIVES

  2. #2
    Membre confirmé Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Points : 474
    Points
    474
    Par défaut
    Citation Envoyé par Spinoza23
    Voila je recherche de l'aide pour mettre un action listener sur un libelle ou du moin sur une partie du libellé, qui suivant le cas n'est pas toujours le meme. Si quelqu'un pouvait m'aider ca serais sympas. Merci d'avance et bonne journée
    Quand tu dis "libellé", tu veux dire "JLabel" ? Dans ce cas là, un ActionListener ne va pas, utilise un MouseListener .

  3. #3
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Il n'est pas possible d'ajouter d'ActionListener à un JLabel.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  4. #4
    Membre habitué Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Points : 166
    Points
    166
    Par défaut
    Ok et je peu ajouter un Mouse listener a une partie du JLabel? par exemple :

    Code ASCII du caractère [valeur1 ou expression1]

    es ce que je peux en ajouter un sur "valeur1" et un sur "expression1"? un lien qui me permetrais de développer un onglet...
    Java c'est pas de la menthe a l'eau
    Et n'oubliez pas : Ne pas respirer tue...
    Mon BLOOOUUUG Un site trop bien

    Pour la recherche JAVA des liens pratiques :
    GOOGLE LA JAVADOC LES FAQ LES ARCHIVES

  5. #5
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Citation Envoyé par Spinoza23
    Ok et je peu ajouter un Mouse listener a une partie du JLabel? par exemple :

    Code ASCII du caractère [valeur1 ou expression1]

    es ce que je peux en ajouter un sur "valeur1" et un sur "expression1"? un lien qui me permetrais de développer un onglet...
    Heu, j'ai rien compris .

    Tu veux faire quoi exactement ?
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  6. #6
    Membre habitué Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Points : 166
    Points
    166
    Par défaut
    en fait je récupère des formules,( a la suite d'un questionaire) que j'affiche dans un JLabel. J'aimerais pourvoir cliquer sur certains champs affiches pour ouvrir un onglet... afin de modifier ce champ.. par exemple, valeur1 prend 10
    Java c'est pas de la menthe a l'eau
    Et n'oubliez pas : Ne pas respirer tue...
    Mon BLOOOUUUG Un site trop bien

    Pour la recherche JAVA des liens pratiques :
    GOOGLE LA JAVADOC LES FAQ LES ARCHIVES

  7. #7
    Membre confirmé Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Points : 474
    Points
    474
    Par défaut
    Citation Envoyé par Spinoza23
    en fait je récupère des formules,( a la suite d'un questionaire) que j'affiche dans un JLabel. J'aimerais pourvoir cliquer sur certains champs affiches pour ouvrir un onglet... afin de modifier ce champ.. par exemple, valeur1 prend 10
    Dans ce cas là il te faudrait mettre un lien hypertexte. HyperTextListener, je crois que c'est ce qu'il te faut, mais je n'ai jamais utilisé.

  8. #8
    Membre habitué Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Points : 166
    Points
    166
    Par défaut
    quelqu'un aurais un exemple d'utilisation d'un mouse listener?
    Java c'est pas de la menthe a l'eau
    Et n'oubliez pas : Ne pas respirer tue...
    Mon BLOOOUUUG Un site trop bien

    Pour la recherche JAVA des liens pratiques :
    GOOGLE LA JAVADOC LES FAQ LES ARCHIVES

  9. #9
    Membre confirmé Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Points : 474
    Points
    474
    Par défaut
    Citation Envoyé par Spinoza23
    quelqu'un aurais un exemple d'utilisation d'un mouse listener?
    http://java.sun.com/docs/books/tutor...elistener.html

  10. #10
    Membre habitué Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Points : 166
    Points
    166
    Par défaut
    J'ais donc mit un MouseListener...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            // Champ expression de la fonction
            constraint.gridx = 1;
            constraint.gridy = 2;
            _expression = new JLabel();
            _expression.setPreferredSize(new Dimension(680,90));
            _expression.setLayout(new GridLayout(1,1,15,15));
            _expression.addMouseListener(this);
            gridbag.setConstraints(_expression, constraint);
            _criteriacontainer.add(_expression);
            formexp.addComponent("EXPRESSION",_expression);
            jpexp.add(_expression, BorderLayout.CENTER);
    et je ne parviens pas a compiler a cause de cette erreur...
    La méthode addMouseListener(MouseListener) du type Component ne s'applique pas aux arguments (ExpressionViewer)
    Java c'est pas de la menthe a l'eau
    Et n'oubliez pas : Ne pas respirer tue...
    Mon BLOOOUUUG Un site trop bien

    Pour la recherche JAVA des liens pratiques :
    GOOGLE LA JAVADOC LES FAQ LES ARCHIVES

  11. #11
    Membre confirmé Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Points : 474
    Points
    474
    Par défaut
    Citation Envoyé par Spinoza23
    je ne parviens pas a compiler a cause de cette erreur...
    La méthode addMouseListener(MouseListener) du type Component ne s'applique pas aux arguments (ExpressionViewer)
    L'erreur parle d'elle même ! Il te faut un MouseListener comme argument, alors passe lui en un : ta classe ExpressionViewer doit implémenter l'interface MouseListener .

  12. #12
    Membre habitué Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Points : 166
    Points
    166
    Par défaut
    Ok oui j'aurais du trouver... désolé... Maintenant il me faut donc pouvoir appliquer ce mouselistener sur une partie du libellé que j'affiche... et la ca devient plus dur...en fait je choisi des expressions dans un formulaire et je les affiche ensuite... Et je voudrais que lorsque l'on clique sur valeur1 , valeur2, expression1, expression 2 ( et ce quelque soit l'expression choisie) on puisse basculer sur un deuxième formulaire qui permette de choisir l'expression voulue... et je dois admetre que je ne sais pas comment m'y prendre... j'ais réellement besoin d'aide
    Java c'est pas de la menthe a l'eau
    Et n'oubliez pas : Ne pas respirer tue...
    Mon BLOOOUUUG Un site trop bien

    Pour la recherche JAVA des liens pratiques :
    GOOGLE LA JAVADOC LES FAQ LES ARCHIVES

  13. #13
    Membre confirmé Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Points : 474
    Points
    474
    Par défaut
    Citation Envoyé par Spinoza23
    Ok oui j'aurais du trouver... désolé... Maintenant il me faut donc pouvoir appliquer ce mouselistener sur une partie du libellé que j'affiche... et la ca devient plus dur...en fait je choisi des expressions dans un formulaire et je les affiche ensuite... Et je voudrais que lorsque l'on clique sur valeur1 , valeur2, expression1, expression 2 ( et ce quelque soit l'expression choisie) on puisse basculer sur un deuxième formulaire qui permette de choisir l'expression voulue... et je dois admetre que je ne sais pas comment m'y prendre... j'ais réellement besoin d'aide
    Il te suffit de mettre plusieurs JLabel les uns à côté des autres dans un FlowLayout : ils seront collés, on ne verra pas qu'il y en a plusieurs .

  14. #14
    Membre habitué Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Points : 166
    Points
    166
    Par défaut
    Es ca que je pourrais me servir du HTML... puisqu'il faut en fait que certaines parties de mon libellé soit souligné, comme un lien Hypertexte.... Si quelqu'un a un exemple n'hésitez pas. Je vous en remercie

    J'ais trouvé des classes... pour faire une sorte d'éditeur HTML... mais je dois bien avoué que je suis dépassé... et je ne sais pas comment les adaptées a mon problème... Je vous poste les classes...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    /*
     * TestBrowser.java
     * A test bed for the JEditorPane and a custom editor kit.
     * This extremely simple browser has a text field for typing in
     * new urls, a JEditorPane to display the HTML page, and a status
     * bar to display the contents of hyperlinks the mouse passes over.
     */
     
    import javax.swing.*;
     
    import java.awt.event.*;
    import java.awt.*;
     
    public class HTMLEditor extends JFrame 
    {
      public HTMLEditor(String startingUrl) 
      {
        // Ok, first just get a screen up and visible, with an appropriate
        // handler in place for the kill window command
        super("Test Pane");
        setSize(400,300);
        addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent we) {
        we.getWindow().setVisible(false);
        System.exit(0);
          }
        });
     
        // Now set up our basic screen components, the editor pane, the
        // text field for URLs, and the label for status and link information
        JPanel urlPanel = new JPanel();
        urlPanel.setLayout(new BorderLayout());
        JTextField urlField = new JTextField(startingUrl);
        urlPanel.add(new JLabel("Site: "), BorderLayout.WEST);
        urlPanel.add(urlField, BorderLayout.CENTER);
        final JLabel statusBar = new JLabel(" ");
     
        // Here's the editor pane configuration.  It's important to make
        // the "setEditable(false)" call, otherwise our hyperlinks won't
        // work.  (If the text is editable, then clicking on a hyperlink
        // simply means that you want to change the text...not follow the
        // link.)
        final JEditorPane jep = new JEditorPane();
        jep.setEditable(false);
     
        // Here's where we force the pane to use our new editor kit
        jep.setEditorKitForContentType("text/html", new HTMLPatchedHTMLEditorKit());
    //    jep.setEditorKitForContentType("text/html",new HTMLEditorKit ());
     
        try {
          jep.setPage(startingUrl);
        }
        catch(Exception e) {
          e.printStackTrace();
          statusBar.setText("Could not open starting page.  Using a blank.");
        }
        JScrollPane jsp = new JScrollPane(jep); 
     
        // and get the GUI components onto our content pane
        getContentPane().add(jsp, BorderLayout.CENTER);
        getContentPane().add(urlPanel, BorderLayout.NORTH);
        getContentPane().add(statusBar, BorderLayout.SOUTH);
     
        // and last but not least, hook up our event handlers
        urlField.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent ae) {
        try {
          jep.setPage(ae.getActionCommand());
        }
        catch(Exception e) {
          statusBar.setText("Could not open starting page.  Using a blank.");
        }
          }
        });
        jep.addHyperlinkListener(new HTMLSimpleLinkListener(jep, urlField, statusBar));
      }
     
      public static void main(String args[]) {
        (new HTMLEditor(args.length > 0 
                 ? args[0] 
                 : "file:///c:/Temp/test.html")).setVisible(true);
      }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    /*
     * PatchedHTMLEditorKit.java
     * A simple extension of the HTMLEditor kit that fires Enter/Exit
     * hyperlink events.
     */
     
    import javax.swing.*;
    import javax.swing.text.*;
    import javax.swing.text.html.*;
    import javax.swing.event.*;
    import java.awt.event.*;
    import java.awt.*;
    import java.io.Serializable;
    import java.net.*;
     
    public class HTMLPatchedHTMLEditorKit extends HTMLEditorKit 
    {
      // Since we only have two mouse events to listen to, we'll use the same
      // method to generate the appropriate hyperlinks and distinguish 
      // between them when we react to the mouse events.
      public static final int JUMP = 0;
      public static final int MOVE = 1;
     
      LinkController myController = new LinkController();
     
      public void install(JEditorPane c) 
      {
        c.addMouseListener(myController);
        c.addMouseMotionListener(myController);
      }
     
      public static class LinkController extends MouseInputAdapter 
      implements Serializable {
     
        URL currentUrl = null;
     
        // here's the mouseClicked event similar to the one in
        // the regular HTMLEditorKit, updated to indicate this is
        // a "jump" event
        public void mouseClicked(MouseEvent e) {
          JEditorPane editor = (JEditorPane) e.getSource();
     
          if (! editor.isEditable()) {
        Point pt = new Point(e.getX(), e.getY());
        int pos = editor.viewToModel(pt);
        if (pos >= 0) {
          activateLink(pos, editor, JUMP);
        }
          }
        }
     
        // And here's our addition.  Now the mouseMove events will
        // also call activateLink, but with a "move" type
        public void mouseMoved(MouseEvent e) {
          JEditorPane editor = (JEditorPane) e.getSource();
     
          if (! editor.isEditable()) {
        Point pt = new Point(e.getX(), e.getY());
        int pos = editor.viewToModel(pt);
        if (pos >= 0) {
          activateLink(pos, editor, MOVE);
        }
          }
        }
     
        // activateLink has now been updated to decide which hyperlink
        // event to generate, based on the event type and status of the
        // currentUrl field.  Rather than have two handlers (one for
        // enter/exit, one for active) we do all the work here.  This
        // saves us the effort of duplicating the href location code.
        // But that's really minor point.  You could certainly provide
        // two handlers if that makes more sense to you.
        protected void activateLink(int pos, JEditorPane html, int type) {
          Document doc = html.getDocument();
          if (doc instanceof HTMLDocument) {
        HTMLDocument hdoc = (HTMLDocument) doc;
        Element e = hdoc.getCharacterElement(pos);
        AttributeSet a = e.getAttributes();
        AttributeSet anchor = (AttributeSet) a.getAttribute(HTML.Tag.A);
        String href = (anchor != null) ? 
          (String) anchor.getAttribute(HTML.Attribute.HREF) : null;
        boolean shouldExit = false;
     
        HyperlinkEvent linkEvent = null;
        if (href != null) {
          URL u;
          try {
            u = new URL(hdoc.getBase(), href);
          } catch (MalformedURLException m) {
            u = null;
          }
     
          if ((type == MOVE) && (!u.equals(currentUrl))) {
            linkEvent = new HyperlinkEvent(html, 
                    HyperlinkEvent.EventType.ENTERED, u, href);
            currentUrl = u;
          }
          else if (type == JUMP) {
            linkEvent = new HyperlinkEvent(html, 
                        HyperlinkEvent.EventType.ACTIVATED, u, href);
            shouldExit = true;
          }
          else {
            return;
          }
          html.fireHyperlinkUpdate(linkEvent);
        }
        else if (currentUrl != null) {
          shouldExit = true;
        }
        if (shouldExit) {
          linkEvent = new HyperlinkEvent(html,
                         HyperlinkEvent.EventType.EXITED,
                         currentUrl, null);
          html.fireHyperlinkUpdate(linkEvent);
          currentUrl = null;
        }
          }
        }
      }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    /*
     * SimpleLinkListener.java
     * A hyperlink listener for use with JEditorPane.  This
     * listener will change the cursor over hotspots based on enter/exit
     * events and also load a new page when a valid hyperlink is clicked.
     */
     
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.event.*;
     
    public class HTMLSimpleLinkListener implements HyperlinkListener {
     
      private JEditorPane pane;       // The pane we're using to display HTML
     
      private JTextField  urlField;   // An optional textfield for showing
                                      // the current URL being displayed
     
      private JLabel statusBar;       // An option label for showing where
                                      // a link would take you
     
      public HTMLSimpleLinkListener(JEditorPane jep, JTextField jtf, JLabel jl) {
        pane = jep;
        urlField = jtf;
        statusBar = jl;
      }
     
      public HTMLSimpleLinkListener(JEditorPane jep) {
        this(jep, null, null);
      }
     
      public void hyperlinkUpdate(HyperlinkEvent he) {
        // We'll keep some basic debuggin information in here so you can
        // verify our new editor kit is working.
        System.out.print("Hyperlink event started...");
     
        HyperlinkEvent.EventType type = he.getEventType();
        // Ok.  Decide which event we got...
        if (type == HyperlinkEvent.EventType.ENTERED) {
          // Enter event.  Go the the "hand" cursor and fill in the status bar
          System.out.println("entered");
          pane.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
          statusBar.setText(he.getURL().toString());
        }
        else if (type == HyperlinkEvent.EventType.EXITED) {
          // Exit event.  Go back to the default cursor and clear the status bar
          System.out.println("exited");
          pane.setCursor(Cursor.getDefaultCursor());
          statusBar.setText(" ");
        }
        else {
          // Jump event.  Get the url, and if it's not null, switch to that
          // page in the main editor pane and update the "site url" label.
          System.out.println("activated");
          try {
        pane.setPage(he.getURL());
        if (urlField != null) {
          urlField.setText(he.getURL().toString());
        }
          }
          catch (Exception e) {
        e.printStackTrace();
          }
        }
      }
    }
    Si quelqu'un a compris mon problème, mon but, et qu'il voi que faire avec ce code, il ne faut pas hésiter a m'aider... lol
    Java c'est pas de la menthe a l'eau
    Et n'oubliez pas : Ne pas respirer tue...
    Mon BLOOOUUUG Un site trop bien

    Pour la recherche JAVA des liens pratiques :
    GOOGLE LA JAVADOC LES FAQ LES ARCHIVES

  15. #15
    Membre habitué Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Points : 166
    Points
    166
    Par défaut
    J'explique un peux plus ce que je veux faire... Je voudrais en fait cliquer sur des mots de mon expression et ainsi ouvrir un onglet.... pour modifier le mot selectionné... En faite ce mot devrais avoir un action listener ou etre une sorte de lien hypertexte... d'ou l'idée de l'éditeur HTML....

    Admetons : J'ais une expression dans mon JLabel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Soustraction de [valeur1 ou expression1] avec [valeur2 ou expression2]"
    je clic sur le mot expression1, l'onglet valeur se développe, je modifie ma valeur, donc

    Je clique sur validé, et mon expression devient alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Soustraction de [valeur1 ou 150] avec [valeur2 ou expression2]"
    Voila quel est mon but... si quelqu'un peu m'aider ca serais sympas... Bonne journée a vous tous
    Java c'est pas de la menthe a l'eau
    Et n'oubliez pas : Ne pas respirer tue...
    Mon BLOOOUUUG Un site trop bien

    Pour la recherche JAVA des liens pratiques :
    GOOGLE LA JAVADOC LES FAQ LES ARCHIVES

  16. #16
    Membre confirmé Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Points : 474
    Points
    474
    Par défaut
    Citation Envoyé par schniouf
    Quand tu dis "libellé", tu veux dire "JLabel" ? Dans ce cas là, un ActionListener ne va pas, utilise un MouseListener .
    Citation Envoyé par schniouf
    Il te suffit de mettre plusieurs JLabel les uns à côté des autres dans un FlowLayout : ils seront collés, on ne verra pas qu'il y en a plusieurs .
    Relis

  17. #17
    Membre habitué Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Points : 166
    Points
    166
    Par défaut
    LOL non mais je l'avais lu... le problème c'est que plusieur JLabel ca serais trop pénible et trop lourd... et j'ais a peu prés plus de 50 expressions différentes... les mots que je veux modifier ne sont pas tout le temps a la meme place... et ce n'est pas tout le temps les meme mots..
    Java c'est pas de la menthe a l'eau
    Et n'oubliez pas : Ne pas respirer tue...
    Mon BLOOOUUUG Un site trop bien

    Pour la recherche JAVA des liens pratiques :
    GOOGLE LA JAVADOC LES FAQ LES ARCHIVES

  18. #18
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Moi je comprends toujours pas le principe, peut être un schéma ou une capture d'écran m'aiderait. Sinon, je pense aussi que de gérer le code comme du HTML est la meilleure solution, sinon je vois pas trop comment tu peux gérer l'événement souris sur une partie du texte de ton JLabel
    "Le calendrier, c'est la bureaucratie du temps." Quino

  19. #19
    Membre habitué Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Points : 166
    Points
    166
    Par défaut
    Admetons : J'ais une expression dans mon JLabel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Soustraction de [valeur1 ou expression1] avec [valeur2 ou expression2]"
    je clic sur le mot expression1, l'onglet valeur se développe, je modifie ma valeur, donc

    Je clique sur validé, et mon expression devient alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Soustraction de [valeur1 ou 150] avec [valeur2 ou expression2]"
    Java c'est pas de la menthe a l'eau
    Et n'oubliez pas : Ne pas respirer tue...
    Mon BLOOOUUUG Un site trop bien

    Pour la recherche JAVA des liens pratiques :
    GOOGLE LA JAVADOC LES FAQ LES ARCHIVES

  20. #20
    Membre confirmé Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Points : 474
    Points
    474
    Par défaut
    Citation Envoyé par sironimo
    Moi je comprends toujours pas le principe, peut être un schéma ou une capture d'écran m'aiderait. Sinon, je pense aussi que de gérer le code comme du HTML est la meilleure solution, sinon je vois pas trop comment tu peux gérer l'événement souris sur une partie du texte de ton JLabel
    Exact, on ne peut pas gérer un clic souris sur une partie d'un JLabel seulement.
    Je ne vois que 3 possibilités pour ton problème, de la meilleure à la pire :
    1. Les liens hypertexte, à toi de voir comment ça marche car je n'ai jamais utilisé
    2. Ma méthode avec plusieurs JLabel les uns à coté des autres
    3. Méthode barbare, à ne surtout pas faire, mais pour le fun je la sors : un seul JLabel avec un MouseListener, tu détectes les coordonnées d'un clic et grâce à FontMetrics tu retrouves le mot cliqué lol


    The choice is yours !

    ++

    EDIT : J'ai posté autant de messages que de jours dans une année !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 4 1234 DernièreDernière

Discussions similaires

  1. besoin d'aide pour une requête
    Par Damien69 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 31/03/2004, 15h38
  2. besoin d'aide pour le composant DBComboBox
    Par jane2002 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/02/2004, 19h01
  3. [Kylix] besoin d'aide pour installer kylix3
    Par Sph@x dans le forum EDI
    Réponses: 3
    Dernier message: 11/02/2004, 13h53
  4. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 10h48
  5. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo