package eu.thog92.launcher.view;
import eu.thog92.launcher.view.IDownloadView;
import javax.swing.*;
import javax.swing.GroupLayout.Alignment;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class DownloadView extends JFrame implements Runnable, IDownloadView
{
private static final long serialVersionUID = -3521539622682742964L;
private static String infotxt;
private final JPanel contentPanel = new JPanel();
private JProgressBar progressBar;
private JLabel statut = new JLabel();
private String statuttxt;
private JLabel label;
/**
* Create the dialog.
*/
public DownloadView()
{
}
@Override
public String getStatus()
{
return null;
}
public String getInfo()
{
return infotxt;
}
public void setInfo(String newinfo)
{
infotxt = newinfo;
label.setText(newinfo);
}
public String getStatut()
{
return infotxt;
}
public void setStatut(String newstatut)
{
if (statut != null)
{
statuttxt = newstatut;
statut.setText(statuttxt);
}
}
@Override
public void setIndeterminate(boolean isIndeterminate)
{
this.progressBar.setIndeterminate(isIndeterminate);
}
@Override
public void setStringPainted(boolean painted)
{
this.progressBar.setStringPainted(painted);
}
public void setProgressValue(int value)
{
this.progressBar.setValue(value);
}
@Override
public void run()
{
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
this.addWindowListener(new WindowAdapter()
{
@Override
public void windowClosing(WindowEvent evt)
{
onExit();
}
public void onExit()
{
System.err.println("Exit");
System.exit(0);
}
});
infotxt = "Loading...";
setBounds(100, 100, 600, 146);
getContentPane().setLayout(new BorderLayout());
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel, BorderLayout.CENTER);
progressBar = new JProgressBar(0, 100);
label = new JLabel(infotxt);
GroupLayout gl_contentPanel = new GroupLayout(contentPanel);
gl_contentPanel.setHorizontalGroup(gl_contentPanel.createParallelGroup(
Alignment.LEADING).addGroup(
gl_contentPanel
.createSequentialGroup()
.addContainerGap()
.addGroup(
gl_contentPanel
.createParallelGroup(Alignment.LEADING)
.addComponent(progressBar,
GroupLayout.DEFAULT_SIZE, 554,
Short.MAX_VALUE)
.addComponent(label)
.addComponent(statut))
.addContainerGap()));
gl_contentPanel.setVerticalGroup(gl_contentPanel.createParallelGroup(
Alignment.TRAILING).addGroup(
gl_contentPanel
.createSequentialGroup()
.addContainerGap()
.addComponent(statut)
.addPreferredGap(ComponentPlacement.RELATED, 15,
Short.MAX_VALUE)
.addComponent(label)
.addGap(18)
.addComponent(progressBar, GroupLayout.PREFERRED_SIZE,
GroupLayout.DEFAULT_SIZE,
GroupLayout.PREFERRED_SIZE).addContainerGap()));
contentPanel.setLayout(gl_contentPanel);
}
public void finish()
{
}
public void startProgress()
{
}
public JProgressBar getProgressBar()
{
return progressBar;
}
public void setProgressTxt(String string)
{
progressBar.setString(string);
}
}