mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
Add hiding of progressbar when finished creating image
Former-commit-id: b5732d9ac6fbcead8d4127e2b18c446fd7f0e0a6
This commit is contained in:
parent
28f07ec739
commit
632275396b
@ -24,6 +24,7 @@ import javax.swing.JMenu;
|
|||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.JPopupMenu;
|
import javax.swing.JPopupMenu;
|
||||||
import javax.swing.JProgressBar;
|
import javax.swing.JProgressBar;
|
||||||
|
import javax.swing.SwingWorker;
|
||||||
|
|
||||||
import org.hyperion.hypercon.LedFrameFactory;
|
import org.hyperion.hypercon.LedFrameFactory;
|
||||||
import org.hyperion.hypercon.spec.ImageProcessConfig;
|
import org.hyperion.hypercon.spec.ImageProcessConfig;
|
||||||
@ -145,22 +146,24 @@ public class LedSimulationComponent extends JPanel {
|
|||||||
mWorker.addPropertyChangeListener(new PropertyChangeListener() {
|
mWorker.addPropertyChangeListener(new PropertyChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public void propertyChange(PropertyChangeEvent evt) {
|
public void propertyChange(PropertyChangeEvent evt) {
|
||||||
BufferedImage backgroundImage = null;
|
if (evt.getPropertyName() == "state") {
|
||||||
|
if (evt.getNewValue() == SwingWorker.StateValue.STARTED) {
|
||||||
|
mProgressBar.setVisible(true);
|
||||||
|
} else if (evt.getNewValue() == SwingWorker.StateValue.DONE) {
|
||||||
|
handleWorkerDone();
|
||||||
|
mProgressBar.setVisible(false);
|
||||||
|
}
|
||||||
|
} else if (evt.getPropertyName() == "progress") {
|
||||||
|
mProgressBar.setValue(mWorker.getProgress());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void handleWorkerDone() {
|
||||||
|
BufferedImage backgroundImage = null;
|
||||||
synchronized(LedSimulationComponent.this) {
|
synchronized(LedSimulationComponent.this) {
|
||||||
if (mWorker == null) {
|
if (mWorker == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (evt.getPropertyName() == "progress") {
|
|
||||||
mProgressBar.setValue(mWorker.getProgress());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!mWorker.isDone()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
backgroundImage = mWorker.get();
|
backgroundImage = mWorker.get();
|
||||||
mWorker = null;
|
mWorker = null;
|
||||||
@ -169,6 +172,7 @@ public class LedSimulationComponent extends JPanel {
|
|||||||
if (backgroundImage == null) {
|
if (backgroundImage == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int width = backgroundImage.getWidth();
|
int width = backgroundImage.getWidth();
|
||||||
int height = backgroundImage.getHeight();
|
int height = backgroundImage.getHeight();
|
||||||
int borderWidth = (int) (backgroundImage.getWidth() * 0.1);
|
int borderWidth = (int) (backgroundImage.getWidth() * 0.1);
|
||||||
@ -186,6 +190,7 @@ public class LedSimulationComponent extends JPanel {
|
|||||||
mBottomRightImage.setImage(backgroundImage.getSubimage(width-borderWidth, height-borderHeight, borderWidth, borderHeight));
|
mBottomRightImage.setImage(backgroundImage.getSubimage(width-borderWidth, height-borderHeight, borderWidth, borderHeight));
|
||||||
|
|
||||||
mProgressBar.setValue(100);
|
mProgressBar.setValue(100);
|
||||||
|
mProgressBar.setVisible(false);
|
||||||
mWorker = null;
|
mWorker = null;
|
||||||
|
|
||||||
LedSimulationComponent.this.repaint();
|
LedSimulationComponent.this.repaint();
|
||||||
|
Loading…
Reference in New Issue
Block a user