2015-10-27 3 views
0

Я делаю проект с использованием javaFx, и мне нужно выполнить поиск n-го совпадения данной строки в тексте. Существует кнопка в моем проекте, и на первом нажмите предполагается найти первый матч и на втором нажмите на него должны найти 2-й матч и так one.For это я написал следующий код с помощью лямбда-выраженияПроблема поиска в моем проекте

int pos=0; 
b1.setOnAction((ActionEvent e) -> { 
    String str=ta.getText(); //given text 
    String srch=t1.getText(); //string to be searched 
    pos = str.indexOf(srch,pos+1); 
    ta.selectRange(pos, pos+srch.length()); 
}); 

Но я получение ошибки

Локальные переменные, на которые ссылается выражение лямбда, должны быть окончательными или фактически окончательными ».

Как решить эту проблему?

ответ

1

Можете ли вы разместить свой полный код?

Может быть, попробовать что-то вроде этого:

int pos=0; 
b1.setOnAction(new EventHandler<ActionEvent>() { 
    @Override public void handle(ActionEvent e) { 
     String str=ta.getText(); //given text 
     String srch=t1.getText(); //string to be searched 
     pos = str.indexOf(srch,pos+1); 
     ta.selectRange(pos, pos+srch.length()); 
    } 
}); 
Смежные вопросы