Я не уверен, как это обойти, но цель моего кода - перебирать CSV-файл, и пользователь ищет определенный элемент. Мои элементы читаются через массив строк списка типов с помощью CSVReader, так что это не проблема.
Когда пользователь ищет элемент, я создал цикл for для перебора строк и столбцов моего CSV-файла, и, как только он будет найден, будет выведен некоторый код.
Что я хочу сделать, так это то, что после того, как элемент будет найден, он откроет другой фрейм, и снова пользователь сделает ввод с помощью текстового поля. Затем нужно нажать еще одну кнопку и, таким образом, продолжить с того места, где мы остановились в нашем другом цикле for, чтобы выполнить некоторый код, который вносит изменения. Я могу выполнить цикл for только один раз, иначе значения строки и столбца удвоятся, если сделать это дважды.
Вот мой код:
editTigerFrame obj = new editTigerFrame();
String getLocation = obj.editLocationField.getText();
javax.swing.JButton saveButt = obj.saveEditButton;
try{
String strSearch = searchSerialField.getText();
CSVReader reader = new CSVReader(new FileReader("test.txt"), ',');
List<String[]> myEntries = reader.readAll();
reader.close();
for (int row = 0; row < myEntries.size(); row++)
{
for (int column = 0; column < myEntries.get(row).length; column++)
{
if (myEntries.get(row)[column].trim().equalsIgnoreCase(strSearch))
{
System.out.println("Found - Your item is on row: " + row + ", column: " + column);
//If serial is found, open the editTigerFrame to edit details
new editTigerFrame().setVisible(true);
//Replace with user input
//When button is pressed in other class, execute this code
System.out.println("Saved");
String newLocation = getLocation;
Как вы можете видеть в нижней части фрагмента кода, после нажатия кнопки в другой форме выполните код для изменения строки.
Есть ли способ сделать паузу и продолжить в цикле for?
Спасибо за вашу помощь, и если вам нужно что-то еще, пожалуйста, дайте мне знать, и я предоставлю.
flag
как для цикла, так и для нажатия кнопки может быть удобным. Обновитеflag
в обработчике нажатия кнопки и используйте тот жеflag
в самом внутреннем цикле, где вы хотитеbreak
. Использование новогоThread
сделает его эффективным. - person   schedule 21.11.2016