Я пишу программу, где я сопоставляю имя с списком. Если я не получаю соответствие, я смотрю имя на SQLite DB, извлекаю информацию о названии в текстовые поля и затем показываю карту (cardlayout). Когда я это запустил, я получил информацию только для последнего несоответствия. Изучая это, я думал, что смогу обойти это, используя SwingWorker. Я взял свое приложение и поместил его в класс SwingWorker и добавил публикацию(), где я хотел отображать информацию. Я получаю тот же результат, пока отображается только последнее несоответствие.Java SwingWorker не работает как ожидалось
Вот фрагменты моего кода:
public class processTeeTimes extends SwingWorker <Integer, String>
{
@Override
protected Integer doInBackground() throws Exception
{
// Process all tee times foursome at a time
String memberGuest; // Member or guest
do // Process players in foursome
{
.
.
.
if (!firstOnGHIN())
{
System.out.print("No match - first (" + tsTime + "): ");
printGolfer(); // Print no match
publish(golfer[0]);
}
.
.
.
}
while (!EOF)
}
@Override
protected void process(List<String> golferList)
{
for (int gIndex = 0; gIndex < golferList.size(); gIndex++)
{
textFieldRMLast.setText(golferList.get(gIndex));
cards.show(panelCont, ROSTERMAINT); // Show roster maint card
}
}
@Override
protected void done()
{
.
.
.
System.out.println("All done processing Tee Sheet");
}
Любая помощь будет оценена.
Мы не можем скомпилировать и запустить фрагменты, и нам не нужна вся база кода. Вместо этого я настоятельно призываю вас создать и опубликовать действительный [mcve] - пожалуйста, прочитайте ссылку. –