/** * */ package org.hyperdata.scute.sparql.panels; import java.awt.FlowLayout; import javax.swing.BorderFactory; import javax.swing.JPanel; import javax.swing.JProgressBar; import javax.swing.border.EtchedBorder; import org.hyperdata.scute.status.StatusButton; import org.hyperdata.scute.status.StatusChangeListener; import org.hyperdata.scute.status.StatusEvent; import org.hyperdata.scute.status.StatusInfoPane; import org.hyperdata.scute.status.StatusMonitor; import org.hyperdata.scute.validate.SparqlValidateAction; /** * @author danny * */ public class SparqlStatusPanel extends JPanel implements StatusChangeListener { private JProgressBar progressBar; public SparqlStatusPanel(SparqlValidateAction sparqlValidateAction){ super(new FlowLayout(FlowLayout.LEADING)); // left-aligned setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED)); StatusInfoPane validatorPane = new StatusInfoPane(sparqlValidateAction); StatusButton validatorButton = new StatusButton(sparqlValidateAction); progressBar = new JProgressBar(0,100); progressBar.setVisible(false); add(validatorButton); add(validatorPane); add(progressBar); } /* (non-Javadoc) * @see org.hyperdata.scute.status.StatusChangeListener#statusChanged(org.hyperdata.scute.status.StatusEvent) */ @Override public void statusChanged(StatusEvent statusEvent) { int progress = statusEvent.getProgress(); if(progress == StatusMonitor.INACTIVE || statusEvent.getStatus() == StatusMonitor.GREEN){ progress = 0; progressBar.setVisible(false); return; } progressBar.setVisible(true); if(progress == StatusMonitor.INDETERMINATE_PROGRESS){ progressBar.setIndeterminate(true); }else { progressBar.setIndeterminate(false); progressBar.setValue(progress); } // System.out.println("PROGRESS="+progress); } }