package gui.status; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.util.Observable; import java.util.Observer; import javax.imageio.ImageIO; import javax.swing.ImageIcon; import javax.swing.JLabel; import qora.wallet.Wallet; import utils.ObserverMessage; import controller.Controller; @SuppressWarnings("serial") public class WalletStatus extends JLabel implements Observer { private ImageIcon unlockedIcon; private ImageIcon lockedIcon; public WalletStatus() { super(); try { //LOAD IMAGES BufferedImage unlockedImage = ImageIO.read(new File("images/wallet/unlocked.png")); this.unlockedIcon = new ImageIcon(unlockedImage.getScaledInstance(20, 16, Image.SCALE_SMOOTH)); BufferedImage lockedImage = ImageIO.read(new File("images/wallet/locked.png")); this.lockedIcon = new ImageIcon(lockedImage.getScaledInstance(20, 16, Image.SCALE_SMOOTH)); //LISTEN ON WALLET Controller.getInstance().addWalletListener(this); } catch(Exception e) { e.printStackTrace(); } } @Override public void update(Observable arg0, Object arg1) { ObserverMessage message = (ObserverMessage) arg1; if(message.getType() == ObserverMessage.WALLET_STATUS) { int status = (int) message.getValue(); if(status == Wallet.STATUS_UNLOCKED) { this.setIcon(this.unlockedIcon); this.setText("Wallet is unlocked"); } else { this.setIcon(this.lockedIcon); this.setText("Wallet is locked"); } } } }