Задания усложненной части 4 лабы выполнены, требуется чистка, рефакторинг и уточнение требований к реализации задания
This commit is contained in:
parent
8a94c4d44b
commit
2d621bbe70
@ -2,6 +2,9 @@ import java.awt.*;
|
|||||||
|
|
||||||
public class DrawningObjectLocomotive implements IDrawningObject {
|
public class DrawningObjectLocomotive implements IDrawningObject {
|
||||||
private DrawningLocomotive _locomotive = null;
|
private DrawningLocomotive _locomotive = null;
|
||||||
|
public DrawningLocomotive GetDrawningLocomotive() {
|
||||||
|
return _locomotive;
|
||||||
|
}
|
||||||
|
|
||||||
public DrawningObjectLocomotive(DrawningLocomotive locomotive)
|
public DrawningObjectLocomotive(DrawningLocomotive locomotive)
|
||||||
{
|
{
|
||||||
|
@ -8,6 +8,11 @@ public class FormLocomotive extends JComponent{
|
|||||||
public DrawningLocomotive getSelectedLocomotive() {
|
public DrawningLocomotive getSelectedLocomotive() {
|
||||||
return SelectedLocomotive;
|
return SelectedLocomotive;
|
||||||
}
|
}
|
||||||
|
public void SetLocomotive(DrawningObjectLocomotive locomotive){
|
||||||
|
// TODO добавлен геттер в drawningobjectlocomotive
|
||||||
|
_locomotive = locomotive.GetDrawningLocomotive();
|
||||||
|
repaint();
|
||||||
|
}
|
||||||
public FormLocomotive(JDialog caller) {
|
public FormLocomotive(JDialog caller) {
|
||||||
|
|
||||||
Panel statusPanel = new Panel();
|
Panel statusPanel = new Panel();
|
||||||
|
@ -286,6 +286,28 @@ public class FormMapWithSetLocomotives extends JComponent {
|
|||||||
});
|
});
|
||||||
statusPanel.add(showGalleryButton);
|
statusPanel.add(showGalleryButton);
|
||||||
|
|
||||||
|
// Кнопка показа удаленных объектов
|
||||||
|
JButton showDeletedButton = new JButton("Show Deleted");
|
||||||
|
showDeletedButton.addActionListener(e -> {
|
||||||
|
// По отдельной кнопке вызывать форму работы с объектом (из
|
||||||
|
//первой лабораторной), передавая туда элемент из коллекции
|
||||||
|
//удаленных, если там есть
|
||||||
|
DrawningObjectLocomotive locomotive = _mapsCollection.Get(listBoxMaps.getSelectedValue().toString()).getDeleted();
|
||||||
|
if (locomotive != null) {
|
||||||
|
JDialog dialog = new JDialog(formFrame, "Deleted", true);
|
||||||
|
FormLocomotive formLocomotive = new FormLocomotive(dialog);
|
||||||
|
// TODO чтобы передать локомотив в форму добавляем метод в formlocomotive
|
||||||
|
formLocomotive.SetLocomotive(locomotive);
|
||||||
|
dialog.setSize(800, 500);
|
||||||
|
dialog.setContentPane(formLocomotive);
|
||||||
|
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
|
||||||
|
dialog.setVisible(true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
statusPanel.add(showDeletedButton);
|
||||||
|
|
||||||
formFrame.getContentPane().add(this);
|
formFrame.getContentPane().add(this);
|
||||||
formFrame.setVisible(true);
|
formFrame.setVisible(true);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
|
||||||
public class MapWithSetLocomotivesGeneric
|
public class MapWithSetLocomotivesGeneric
|
||||||
<T extends IDrawningObject, U extends AbstractMap>
|
<T extends IDrawningObject, U extends AbstractMap>
|
||||||
@ -14,7 +15,16 @@ public class MapWithSetLocomotivesGeneric
|
|||||||
private final int _placeSizeHeight = 90;
|
private final int _placeSizeHeight = 90;
|
||||||
|
|
||||||
/// Набор объектов
|
/// Набор объектов
|
||||||
private final SetLocomotivesGeneric<T> _setLocomotives;
|
//TODO переделал на public, узнать так ли вообще надо?
|
||||||
|
public final SetLocomotivesGeneric<T> _setLocomotives;
|
||||||
|
|
||||||
|
// Список удаленных объектов
|
||||||
|
LinkedList<DrawningObjectLocomotive> deletedLocomotives = new LinkedList<>();
|
||||||
|
|
||||||
|
public DrawningObjectLocomotive getDeleted() {
|
||||||
|
if (deletedLocomotives.isEmpty()) return null;
|
||||||
|
return deletedLocomotives.removeFirst();
|
||||||
|
}
|
||||||
/// Карта
|
/// Карта
|
||||||
private final U _map;
|
private final U _map;
|
||||||
/// Конструктор
|
/// Конструктор
|
||||||
@ -36,7 +46,10 @@ public class MapWithSetLocomotivesGeneric
|
|||||||
/// Удаление
|
/// Удаление
|
||||||
public T Minus(int position)
|
public T Minus(int position)
|
||||||
{
|
{
|
||||||
return this._setLocomotives.Remove(position);
|
T temp = this._setLocomotives.Remove(position);
|
||||||
|
if (temp == null) return null;
|
||||||
|
if (temp instanceof DrawningObjectLocomotive) deletedLocomotives.add((DrawningObjectLocomotive) temp);
|
||||||
|
return temp;
|
||||||
}
|
}
|
||||||
/// Вывод всего набора объектов
|
/// Вывод всего набора объектов
|
||||||
public BufferedImage ShowSet()
|
public BufferedImage ShowSet()
|
||||||
|
@ -4,6 +4,7 @@ import java.util.HashMap;
|
|||||||
public class MapsCollection {
|
public class MapsCollection {
|
||||||
/// Словарь (хранилище) с картами
|
/// Словарь (хранилище) с картами
|
||||||
final HashMap<String, MapWithSetLocomotivesGeneric<DrawningObjectLocomotive, AbstractMap>> _mapStorages;
|
final HashMap<String, MapWithSetLocomotivesGeneric<DrawningObjectLocomotive, AbstractMap>> _mapStorages;
|
||||||
|
|
||||||
/// Возвращение списка названий карт
|
/// Возвращение списка названий карт
|
||||||
public ArrayList<String> keys() {
|
public ArrayList<String> keys() {
|
||||||
return new ArrayList<String>(_mapStorages.keySet());
|
return new ArrayList<String>(_mapStorages.keySet());
|
||||||
@ -38,4 +39,10 @@ public class MapsCollection {
|
|||||||
if (_mapStorages.containsKey(ind)) return _mapStorages.get(ind);
|
if (_mapStorages.containsKey(ind)) return _mapStorages.get(ind);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
// Доп.индексатор из задания
|
||||||
|
// TODO поле setlocomotives в mapwithsetlocomotivesgeneric было изменено на public
|
||||||
|
public DrawningObjectLocomotive Get (String name, int position) {
|
||||||
|
if (_mapStorages.containsKey(name)) return _mapStorages.get(name)._setLocomotives.Get(position);
|
||||||
|
else return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user