public BoxGUI(BoxPos _boxPos) {
		boxPos = _boxPos;
		box = boxPos.getBox();
		setFont(font);
		setFocusable(true);
		addMouseListener(new MouseListener() {
			@Override
			public void mouseClicked(MouseEvent mouseEvent) {
				grabFocus();
			}

			@Override
			public void mousePressed(MouseEvent mouseEvent) {}

			@Override
			public void mouseReleased(MouseEvent mouseEvent) {}

			@Override
			public void mouseEntered(MouseEvent mouseEvent) {}

			@Override
			public void mouseExited(MouseEvent mouseEvent) {}
		});
		addFocusListener(new FocusListener() {
			@Override
			public void focusGained(FocusEvent focusEvent) {
				isFocused = true;
				repaint();
			}

			@Override
			public void focusLost(FocusEvent focusEvent) {
				isFocused = false;
				repaint();
			}
		});
		addKeyListener(new KeyListener() {
			@Override
			public void keyTyped(KeyEvent ev) {}

			@Override
			public void keyPressed(KeyEvent ev) {
				System.out.printf("key: %s / %s%n", ev.getKeyChar(), KeyEvent.getKeyText(ev.getKeyCode()));
				try {
					Integer val = Integer.parseInt(KeyEvent.getKeyText(ev.getKeyCode()));
					System.out.printf("num: %d%n", val);
					if(ev.isShiftDown()) {
						box.setValue(val);
//						box.getLittleBoxes().clear();
					} else {
						if(box.getLittleBoxes().contains(val)) {
							box.getLittleBoxes().remove(val);
						} else {
							box.getLittleBoxes().add(val);
						}
					}
					repaint();
				} catch(NumberFormatException ignored) {}
			}

			@Override
			public void keyReleased(KeyEvent keyEvent) {}
		});
	}