package forkk.multimc.gui;
import java.awt.BorderLayout;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JProgressBar;
import forkk.multimc.task.Task;
public class ForegroundTaskDialog extends JDialog
{
private static final long serialVersionUID = -8233885819803211100L;
Task bgTask;
private JProgressBar progressBar;
private JLabel lblStatus;
/**
* Create the frame.
*/
public ForegroundTaskDialog(Task task)
{
setUndecorated(true);
setModalityType(ModalityType.APPLICATION_MODAL);
setBounds(100, 100, 450, 40);
progressBar = new JProgressBar();
progressBar.setStringPainted(true);
getContentPane().add(progressBar, BorderLayout.SOUTH);
lblStatus = new JLabel("Status");
getContentPane().add(lblStatus, BorderLayout.NORTH);
this.bgTask = task;
bgTask.AddTaskListener(new Task.TaskListener()
{
@Override
public void taskStatusChange(Task t, String status)
{
setTitle(status);
lblStatus.setText(status);
}
@Override
public void taskStart(Task t)
{
setTitle(t.getStatus());
lblStatus.setText(t.getStatus());
}
@Override
public void taskProgressChange(Task t, int p)
{
progressBar.setValue(p);
}
@Override
public void taskErrorMessage(Task t, String status)
{
// TODO Auto-generated method stub
}
@Override
public void taskEnd(Task t)
{
setVisible(false);
dispose();
}
});
}
}