Доработка отрисовки хранилища.

This commit is contained in:
Programmist73 2022-11-06 12:53:10 +04:00
parent 3818ea591b
commit fb505d1628
2 changed files with 18 additions and 11 deletions

View File

@ -134,8 +134,7 @@ public class MapWithSetPlanesGeneric <T extends IDrawningObject, U extends Abstr
}
//отрисовка разметки взлётной полосы
g2d.setColor(Color.WHITE);
g2d.fillRect(_placeSizeWidth * 2 + 30, 0, 185, _pictureHeight);
g2d.setColor(Color.DARK_GRAY);
g2d.fillRect(_placeSizeWidth * 2 + 35, 0, 175, _pictureHeight);
g2d.setStroke(new BasicStroke(5));
@ -146,12 +145,13 @@ public class MapWithSetPlanesGeneric <T extends IDrawningObject, U extends Abstr
g2d.drawLine(_placeSizeWidth * 2 + 30, 0, _placeSizeWidth * 2 + 30, _pictureHeight);
g2d.setStroke(new BasicStroke(5));
g2d.setColor(new Color(0xFF, 0x45, 0x00));
g2d.setColor(Color.WHITE);
for (int i = 0; i < _pictureHeight / _placeSizeHeight; ++i)
{
g2d.drawLine(_placeSizeWidth * 2 + 125, 20 + i * _placeSizeHeight, _placeSizeWidth * 2 + 125, (i + 1) * _placeSizeHeight - 20);
}
g2d.setColor(new Color(0xFF, 0x45, 0x00));
for(int i = 0; i < _pictureHeight / 20; i++)
{
g2d.drawLine(_placeSizeWidth * 2 + 15, 20 + i * _placeSizeHeight / 2, _placeSizeWidth * 2 + 15, (i + 1) * _placeSizeHeight / 2 - 20);
@ -178,6 +178,7 @@ public class MapWithSetPlanesGeneric <T extends IDrawningObject, U extends Abstr
//метод прорисовки объеков
public void DrawPlanes(Graphics g)
{
int position = 0;
int currentWidth = 1;
int currentHeight = 5;

View File

@ -24,37 +24,43 @@ public class SetPlanesGeneric<T extends Object>
//добавление объекта в набор на конкретную позицию
public int Insert(T plane, int position)
{
// проверка позиции
//проверка на корректность значения индекса
if (position >= _places.length || position < 0)
{
return -1;
}
//проверка, что элемент массива по этой позиции пустой, если нет, то
//проверка ячейки на пустоту
if (_places[position] == null)
{
_places[position] = plane;
return position;
}
//проверка, что после вставляемого элемента в массиве есть пустой элемент
int findEmptyPos = -1;
//поиск первой свободной ячейки
int _emptyPositionIndex = -1;
for (int i = position + 1; i < Count(); i++)
{
if (_places[i] == null)
{
findEmptyPos = i;
_emptyPositionIndex = i;
break;
}
}
if (findEmptyPos < 0)
//есла пустых ячеек нет
if (_emptyPositionIndex < 0)
{
return -1;
}
// вставка по позиции
//сдвиг объектов
for (int i = _emptyPositionIndex; i > position; i--)
{
_places[i] = _places[i - 1];
}
_places[position] = plane;
return position;