Я пытаюсь реализовать Swing worker в моем графическом интерфейсе. На данный момент у меня есть JFrame, содержащий кнопку. Когда эта кнопка нажата, она должна обновить отображаемую вкладку, а затем запустить программу в фоновом потоке. Вот что у меня есть.
class ClassA
{
private static void addRunButton()
{
JButton runButton = new JButton("Run");
runButton.setEnabled(false);
runButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
new ClassB().execute();
}
});
mainWindow.add(runButton);
}
}
class ClassB extends SwingWorker<Void, Integer>
{
protected Void doInBackground()
{
ClassC.runProgram(cfgFile);
}
protected void done()
{
try
{
tabs.setSelectedIndex(1);
}
catch (Exception ignore)
{
}
}
}
Я не понимаю, как я могу передать свой cfgFile
объект. Пожалуйста, кто-нибудь может посоветовать по этому поводу?