package com.roboclub.robobuggy.ui; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.LayoutManager; import java.util.ArrayList; /** * A class that helps manage adding components with percentages */ class PercentileLayoutManger implements LayoutManager { private ArrayList<ComponentData> components; PercentileLayoutManger(ArrayList<ComponentData> components) { this.components = components; } /** * {@inheritDoc} */ @Override public void addLayoutComponent(String name, Component comp) { // TODO Auto-generated method stub } /** * {@inheritDoc} */ @Override public void removeLayoutComponent(Component comp) { // TODO Auto-generated method stub } /** * {@inheritDoc} */ @Override public Dimension preferredLayoutSize(Container parent) { // TODO Auto-generated method stub return null; } /** * {@inheritDoc} */ @Override public Dimension minimumLayoutSize(Container parent) { // TODO Auto-generated method stub return null; } /** * {@inheritDoc} */ @Override public void layoutContainer(Container parent) { int frameWidth = parent.getWidth(); int frameHeight = parent.getHeight(); for (int i = 0; i < this.components.size(); i++) { Component thisComponent = this.components.get(i).getComponent(); int x = (int) (this.components.get(i).getPercentageLeft() * frameWidth); int y = (int) (this.components.get(i).getPercentageTop() * frameHeight); int width = (int) (this.components.get(i).getPercentageWidth() * frameWidth); int height = (int) (this.components.get(i).getPercentageHeight() * frameHeight); thisComponent.setBounds(x, y, width, height); } } }