@Override public void draw(Graphics g) { if (this.body != null) { this.body.draw(g); for (Element element : this.elements) { element.draw(g); } } }
@Override public Object isOnFocus(float x, float y) { for (Element element : this.elements) { if (element.isOnFocus(x, y) != null) { if (!element.isEmpty()) { return element; } } } if (body.isOnFocus(x, y)) { return null; } return null; }
@Override protected void updatePosition() { if (this.body != null) { float currentX = this.body.getMinX(); float currentY = this.body.getMaxY(); for (Element element : this.elements) { if (currentY - element.getAbsoluteHeight() >= this.body.getMinY()) { currentY -= element.getAbsoluteHeight(); element.setBody( new ColorRect( new Rectangle( currentX, currentY, this.body.getSizeX(), element.getAbsoluteHeight()))); } else { element.setBody( new ColorRect( new Rectangle(-1f, -1f, this.body.getSizeX(), element.getAbsoluteHeight()))); } } this.changed = false; } }