Appliquer une couleur au mots clefs

patRachel Messages postés 14 Date d'inscription dimanche 24 septembre 2006 Statut Membre Dernière intervention 10 novembre 2006 - 23 oct. 2006 à 13:03
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 23 oct. 2006 à 15:06
   salut!
s'il vous plait j'ai un gros probleme.
j'ai ecrit un éditeur de texte et le but est d'appliquer une couleur à certains mots clefs comme "#" ,"end","add","lw"............
mais je ne sais pas par où commencer .
si quelqu'un a une idée qu'il m'aide s'il vous plait.

voici le code de mon éditeur de texte:

import javax.swing.*;
 public abstract class Interface_Finestra_principale extends JFrame {

  
 public abstract void aggiungi_jcomponenti();
       
 }

import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.text.*;

 

public class Finestra_Principale extends Interface_Finestra_principale{
 private  JTextComponent  editor;
 private JPopupMenu popup ;
 private JFileChooser fileChooser;

 class PopupListener extends MouseAdapter
    {

        public void mousePressed(MouseEvent e)
        {
          
   if(e.isPopupTrigger())
                popup.show(e.getComponent(), e.getX(), e.getY());
        }

        public void mouseReleased(MouseEvent e)
        {
            if(e.isPopupTrigger())
                popup.show(e.getComponent(), e.getX(), e.getY());
        }

        PopupListener()
        {
            super();
        }
    }

 

  public Finestra_Principale(){
   super();
   popup = new JPopupMenu();
         fileChooser = new JFileChooser();
        
         editor = this.createEditor();
         editor.setFont(new Font("Verdana", 0, 12));

        
         PopupListener  popupListener= new  PopupListener();
         editor.addMouseListener(popupListener);
         JComponent centerPanel = createCenterComponent();
        
         getContentPane().add("Center", centerPanel);
       
         fileChooser = new JFileChooser();
         setDefaultCloseOperation(0);
        
        
   this.setTitle("SyntaxEditor");
   this.setSize(500,400);
   
  } 
  

             ActionListener openAction = new ActionListener() {

             public void actionPerformed(ActionEvent e) {
               
              openText();
                
             }
            
         };
        
         ActionListener saveAction = new ActionListener() {
      
             public void actionPerformed(ActionEvent e){
                 saveText();
             }
            
             
     };
    
    

  
        
  public JMenuItem[] createJMenuItem() {
   JMenuItem[]jmi={new JMenuItem("Open"),new JMenuItem("Save"),new JMenuItem("Save As")};
   return jmi;
  }
  
  
 public JMenuBar createJMenuBar() {
 
  JMenuBar MenuBar=new JMenuBar();
          JMenu file=new JMenu("File");
          file.setMnemonic(KeyEvent.VK_F);
       
          JMenuItem[] jmi=this.createJMenuItem();
         
          jmi[0].setMnemonic(KeyEvent.VK_O);
          jmi[0].setAccelerator(javax.swing.KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
          jmi[2].setMnemonic(KeyEvent.VK_S);
          jmi[2].setAccelerator(javax.swing.KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
         
          jmi[0].addActionListener(openAction);
          file.addSeparator();
          //jmi[1].addActionListener(saveAction);
           jmi[2].addActionListener(saveAction);        
       
          for(int i=0;i<3;i++){
    file.add(jmi[i]);
   }
  
          MenuBar.add(file);
       

 return MenuBar;
 }  
 
 
 public JToolBar createJToolBar() {
  JToolBar jtb=new JToolBar();
  JButton newbutton = new javax.swing.JButton();
  JButton openbutton = new javax.swing.JButton();
        JButton savebutton = new javax.swing.JButton();
        openbutton.setIcon(new ImageIcon("/PROGETTO/open.jpg"));
        openbutton.setToolTipText("Apri un file di testo");
        openbutton.addActionListener(openAction);
        savebutton.setIcon(new ImageIcon("/PROGETTO/Save.jpg"));
        savebutton.setToolTipText("Salva con nome");
        savebutton.addActionListener(saveAction);
       jtb.add(openbutton);
      
       jtb.add(savebutton); 
 
  
    
        
    
 return jtb;
 }
 
 
    public  JTextComponent createEditor(){
     JTextArea txt=new JTextArea();
     
     char c=txt.getFocusAccelerator();
     
     
     return   txt;
     }

    public JComponent createCenterComponent(){
        if(editor == null)
            editor = this.createEditor();
        return  new JScrollPane(editor);
    }
 

 public void openText(){
       
      
            int response = fileChooser.showOpenDialog(new Finestra_Principale());
            if(response == 0)
                try{
                    File f = fileChooser.getSelectedFile();
                    Reader in = new FileReader(f);
                    editor.read(in, null);
                    setTitle(f.getName() + ".txt");
                }
                catch(Exception e)
                {
                    JOptionPane.showMessageDialog(null, "Errore nel caricamento file.", "Errore", 0);
                }
       
       
                try{
                    File f = fileChooser.getSelectedFile();
                    java.io.Reader in = new FileReader(f);
                    editor.read(in, null);
                    setTitle(f.getName() + ".txt");
                }
                catch(Exception e)
                {
                    JOptionPane.showMessageDialog(null, "Errore nel caricamento file.", "Errore", 0);
                }
       
          
        }
   

  public void saveText(){
         int response = fileChooser.showSaveDialog(new Finestra_Principale());
         if(response == 0)
             try{
              
                 File f = fileChooser.getSelectedFile();
                 Writer out = new FileWriter(f);
                 editor.write(out);
                 setTitle(f.getName() + " - NOTEPAD 2.0");
             }
             catch(Exception e)
             {
                 JOptionPane.showMessageDialog(null, "Errore nel salvataggio file.", "Errore", 0);
             }
     }

  public void aggiungi_jcomponenti() {
   JMenuBar jmb=this.createJMenuBar();
   JToolBar jtb=this.createJToolBar();
   
   this.setJMenuBar(jmb);
   this.add(jtb,BorderLayout.NORTH);
   
  }
 
 
 public void visualizza(){
  
  this.setVisible(true);
  
 }
        

  }

merci infiniment

2 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
23 oct. 2006 à 13:55
Salut :

As tu jetter un coup d'oeil sur cette source :

http://www.javafr.com/codes/EDITEUR-TEXTE-WORDPAD_39798.aspx
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
23 oct. 2006 à 15:06
Salut,

ouais et accessoirement évite de poster tes codes sources complet ça fait genre "voila je vous donne tous faites le pour moi"

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0
Rejoignez-nous