page searcher
Hi
need to make sercher JTextComponent.
As in every searcher you've got:
Ctrl+F -> window-> SEARCH GOES DURING THE TYPING, NOT AFTER ENTER
PRESSING
QUESTION - HOW TO HIGHLIGHT (maby better say extract) FOUNDED TEXT
Highliter class -I've also thought so - but it's just for painting text background.
thanks
[363 byte] By [
kpba] at [2007-11-26 21:26:46]

# 7
hope You are talking of something like that. Check it out:
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
public class Forum extends JPanel implements DocumentListener {
JTextField field;
JTextArea tarea;
public Forum() {
super(new BorderLayout());
field = new JTextField(10);
tarea = new JTextArea("This is a sample text.", 20, 20);
field.getDocument().addDocumentListener(this);
add(field, BorderLayout.NORTH);
add(tarea, BorderLayout.CENTER);
}
public void changedUpdate(DocumentEvent e) {}
public void insertUpdate(DocumentEvent e) {
int start = tarea.getText().indexOf(field.getText());
if (start<0){
tarea.setSelectionEnd(-1);
return;
}
int end = start+field.getText().length();
tarea.setSelectionStart(start);
tarea.setSelectionEnd(end);
}
public void removeUpdate(DocumentEvent e) {
int start = tarea.getText().indexOf(field.getText());
if (start<0){
tarea.setSelectionEnd(-1);
return;
}
int end = start+field.getText().length();
tarea.setSelectionStart(start);
tarea.setSelectionEnd(end);
}
public static void main(String[] args) {
JFrame frame = new JFrame("Forum");
frame.setContentPane(new Forum());
frame.pack();
frame.setDefaultCloseOperation(3);
frame.setVisible(true);
}
}