ho trovato del codice che svolge questa funzione :
codice:import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.regex.*; import javax.swing.*; import javax.swing.text.*; public class JSyntaxHighlight extends JTextArea implements KeyListener { Highlighter evidenziatore; Highlighter.HighlightPainter effetto; Pattern pattern; Matcher matcher; String keyWords[]= { "abstract","boolean","break","byte","case","catch","char","class","const","continue","default","do","double","else","extends","final","finally","float","for","goto","if","implements","import","instanceof","int","interface","long","native","new","package","private","protected","public","return","short","static","super","switch","syncronized","this","throw","throws","transient","try ","void","volatile ","while" }; public JSyntaxHighlight() { super(); evidenziatore = getHighlighter(); effetto = new DefaultHighlighter.DefaultHighlightPainter(Color.YELLOW); addKeyListener(this); } public void keyReleased(KeyEvent ke) {} public void keyPressed(KeyEvent ke) {} public void keyTyped(KeyEvent ke) { evidenziatore.removeAllHighlights(); try { for(int i = 0; i < keyWords.length; i++) { pattern = Pattern.compile("\\b" + keyWords[i] + "\\b"); matcher = pattern.matcher(getText()); while(matcher.find()) evidenziatore.addHighlight(matcher.start() , matcher.end() , effetto); } } catch(Exception e) {} } }
codice:import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; import java.io.*; public class Prova extends JFrame implements ActionListener { JSyntaxHighlight hight; JPanel panel; JButton crea,exit; public Prova() { setTitle( "Inserimento dati per una simulazione da testo" ); setSize( 600, 500 ); panel = new JPanel(new BorderLayout()); //areaTesto.setSize(new Dimension(600,400) ); //JScrollPane scrollingArea = new JScrollPane(areaTesto); hight= new JSyntaxHighlight(); crea=new JButton("Controlla e Crea"); exit=new JButton("Exit"); //quando si passa il mouse sopra il crea appare questa scritta crea.setToolTipText("Verifica i dati e avvia la simulazione"); exit.setToolTipText("Chiude la finestra"); //aggiunge crea e label al pannello panel.add(crea , BorderLayout.NORTH); panel.add(exit , BorderLayout.SOUTH); panel.add(hight, BorderLayout.CENTER); getContentPane().add( panel ); // Posiziona al centro dello schermo. Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frame = getSize(); setLocation( (screen.width - frame.width) / 2, (screen.height - frame.height) / 2 ); //registra evento click sul crea crea.addActionListener(this); exit.addActionListener(this); } //crea ascoltatore di eventi public void actionPerformed( ActionEvent event ) { Object source = event.getSource(); if(source==crea){ } if(source==exit){ System.exit(-1); } } //main public static void main(String args[]) {new Prova().show(); } }

Rispondi quotando