Выделение определённых символов JTextArea по нажатию кнопки. Метод select - Java
Формулировка задачи:
Добрый вечер, мне нужно написать программу, которая будет искать и выделять нужное слово в тексте. То есть у меня есть текстовое поле, куда я ввожу слово. Есть JTextArea, куда я ввожу текст. Потом я нажимаю кнопку, и в JTextArea должно выделиться слово, которые я ввёл в текстовое поле.
Почему у меня не работает метод select?
Подскажите, пожалуйста, что делать. Очень нужно
Вот код:
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * Created by Бородин on 28.03.2015. */ public class ItSearch { public static void main(String[] args) { JPanel Panel = new JPanel(); Panel.setLayout(new GridLayout(3, 1)); JPanel p = new JPanel(); p.setLayout(new GridLayout(1, 3)); JLabel label1 = new JLabel("Введите слово:"); final JTextField text = new JTextField(); JButton button = new JButton("Поиск"); final JTextArea jTextArea1 = new JTextArea(); p.add(label1); p.add(text); p.add(button); Panel.add(p); Panel.add(jTextArea1); JFrame frame = new JFrame("Search"); frame.setContentPane(Panel); frame.pack(); frame.setVisible(true); // Создал интерфейс button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //пытаюсь выделить нужное слово в jTextArea1 int b = 0; String textArea = jTextArea1.getText(); String textField; textField = text.getText(); char[] tOne = textArea.toCharArray(); char[] tTwo = textField.toCharArray(); for (int i = 0; i < textArea.length(); i++) { if (tOne[i]==tTwo[0]) { for (int k = 0; k < textField.length(); k++) { if (tTwo[k] == tOne[i]) { b++; i++; } if (b == textField.length()) { jTextArea1.select(i - b, i); jTextArea1.setSelectedTextColor(Color.red); jTextArea1.repaint(); i-=b; } } } } } }); } }
Решение задачи: «Выделение определённых символов JTextArea по нажатию кнопки. Метод select»
textual
Листинг программы
int index = textArea.indexOf(textField); if(index >= 0) { jTextArea1.select(index, index+textField.length()); jTextArea1.grabFocus(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д