void paint(Graphics2D g) {
			setX(energizerX < 0 ? getWidth() - 18 : energizerX);
			int sk = (int) (100.0 * Math.log(1.0 + getModel().getKE()));
			g.setStroke(ViewAttribute.THIN);
			g.setColor(exitButtonColor);
			g.fill(exitButton);
			g.setColor(heatButtonColor);
			g.fill(heatButton);
			g.setColor(coolButtonColor);
			g.fill(coolButton);
			g.setColor(contrastBackground());
			g.draw(exitButton);
			g.draw(heatButton);
			g.draw(coolButton);
			g.setColor(Color.black);
			g.drawLine(exitButton.x, exitButton.y, exitButton.x + exitButton.width, exitButton.y + exitButton.height);
			g.drawLine(exitButton.x, exitButton.y + exitButton.height, exitButton.x + exitButton.width, exitButton.y);
			g.setColor(Color.red);
			Polygon poly = new Polygon();
			poly.addPoint(heatButton.x + heatButton.width / 2, heatButton.y + 2);
			poly.addPoint(heatButton.x + 2, heatButton.y + heatButton.height - 2);
			poly.addPoint(heatButton.x + heatButton.width - 2, heatButton.y + heatButton.height - 2);
			g.fill(poly);
			g.setColor(Color.blue);
			poly = new Polygon();
			poly.addPoint(coolButton.x + coolButton.width / 2, coolButton.y + coolButton.height - 2);
			poly.addPoint(coolButton.x + 2, coolButton.y + 2);
			poly.addPoint(coolButton.x + coolButton.width - 2, coolButton.y + 2);
			g.fill(poly);
			g.setColor(Color.white);
			g.fillRect(x, y, 10, length);
			g.setColor(contrastBackground());
			g.drawRect(x, y, 10, length);
			g.setColor(Color.red);
			g.fillRect(x + 1, y + length - sk, 9, sk);
		}