【发布时间】:2017-04-03 16:38:08
【问题描述】:
我不确定如何解决这个问题,但我的代码的目的是遍历一个 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;
正如您在代码sn-p底部附近看到的那样,一旦按下另一个表单上的按钮,执行代码以更改字符串。
有没有办法在 for 循环中暂停和继续?
感谢您的帮助,如果您还有其他需要,请告诉我,我会提供。
【问题讨论】:
-
对循环和按钮单击使用通用
flag会很方便。在按钮单击处理程序上更新flag,并在您想要break的最内层循环中使用相同的flag。使用新的Thread将使其生效。
标签: java swing csv for-loop pause