@Override
    public void mouseClick(int X, int Y) {
        Rectangle TopRect = new Rectangle(this.getSize().getWidth() -10, 0, 10, 10);
        Rectangle BottomRect = new Rectangle(this.getSize().getWidth() -10, this.getSize().getHeight() - 10, 10, 10);
        if(TopRect.contains(X,Y) && this.ScrollYValue > 0)
        {
            this.ScrollYValue -=5;
        }
        else if(BottomRect.contains(X,Y))
        {
            this.ScrollYValue += 5;
        }

        // Selecttion
        Rectangle SelectedRect;
        for(int i = 0; i < this.Items.size(); i++)
        {
            SelectedRect = new Rectangle(0, (i * 64) - this.ScrollYValue, this.getSize().getWidth() - 10, 64);
            if(SelectedRect.contains(X,Y))
            {
                this.SelectedItemIndex = i;
                this.SelectedItem = this.Items.get(i);
                if(this.ItemListener != null)
                {
                    this.ItemListener.selectedItemChange(this, this.SelectedItem);
                }
                break;
            }
        }

        if(this.getMouseListener() != null)
        {
            this.getMouseListener().MouseClick(this);
        }
    }