@Override
	public void changedStatus(boolean running, boolean connected){
		String icon;
		
		if(running){
			if(connected){
				this.status.setText("Status: " + STATUS_CONNECTED);
				icon = GREEN_ICON;
			}else{
				this.status.setText("Status: " + STATUS_WAITING);
				icon = YELLOW_ICON;
			}
			toggleBtn.setText("Disable");
		}else{
			this.status.setText("Status: " + STATUS_DISABLED);
			icon = RED_ICON;
			toggleBtn.setText("Enable");
		}
		
		// Change Frame Icon
        ImageIcon im = new ImageIcon(getClass().getResource(icon));
        setIconImage(im.getImage());
		
		// Change the system tray icon if it is supported
	    if (trayIcon != null) {
	    	
	    	if(running){
	    		disableAction.setLabel("Disable");
	    	}else{
	    		disableAction.setLabel("Enable");
	    	}
	    	
	    	BufferedImage bufImage = null;
			try {
				bufImage = ImageIO.read(getClass().getResourceAsStream(icon));
			} catch (IOException e) {
				System.err.println("Could Not Change SysTray icon");
			}
	    	int trayIconWidth = new TrayIcon(bufImage).getSize().width;
	        trayIcon.setImage(bufImage.getScaledInstance(trayIconWidth, -1, Image.SCALE_SMOOTH));
	    }
	}