1 Commits

Author SHA1 Message Date
feb5eccc7f ready 2024-06-17 11:39:07 +04:00
7 changed files with 356 additions and 44 deletions

View File

@@ -0,0 +1,16 @@
package CollectionGenericObjects;
public enum CollectionType {
None(0),
Massive(1),
List(2);
final private int collectionTypeValue;
CollectionType(int value){
collectionTypeValue = value;
}
public int getCollectionTypeValue() {
return collectionTypeValue;
}
}

View File

@@ -0,0 +1,59 @@
package CollectionGenericObjects;
import Drawnings.DrawningTrans;
import java.util.ArrayList;
public class ListGenericCollection<T extends DrawningTrans> implements ICollectionGenericObjects<T> {
private final ArrayList<T> _collection;
public ListGenericCollection() {
_collection = new ArrayList<>();
}
private int maxCount;
public int count;
@Override
public int getCount() {
return count;
}
@Override
public void setMaxCount(int count) {
maxCount = count;
}
@Override
public int insert(T obj) {
return insert(obj, count);
}
@Override
public int insert(T obj, int index) {
if (index > maxCount || index < 0 || index > count){
return -1;
}
if(index == count){
_collection.add(obj);
}
else {
_collection.add(index, obj);
}
count = _collection.size();
return index;
}
@Override
public T remove(int index) {
if (index > maxCount || index < 0 || index >= count){
return null;
}
count = _collection.size() - 1;
return _collection.remove(index);
}
@Override
public T get(int index) {
if (index >= count){
return null;
}
return _collection.get(index);
}
}

View File

@@ -0,0 +1,48 @@
package CollectionGenericObjects;
import Drawnings.DrawningTrans;
import java.util.ArrayList;
import java.util.HashMap;
public class StorageCollection<T extends DrawningTrans> {
private final HashMap<String, ICollectionGenericObjects<T>> _storages;
public final ArrayList<String> keys;
public StorageCollection() {
_storages = new HashMap<>();
keys = new ArrayList<>();
}
public void addCollection(String name, CollectionType collectionType){
if (_storages.containsKey(name) || name.isEmpty()){
return;
}
switch (collectionType){
case None:
return;
case Massive:
_storages.put(name, new MassiveGenericObjects<>());
keys.add(name);
break;
case List:
_storages.put(name, new ListGenericCollection<>());
keys.add(name);
break;
}
}
public void delCollection(String name){
_storages.remove(name);
keys.remove(name);
}
public ICollectionGenericObjects<T> getCollection(String name){
return _storages.get(name);
}
public T getObjectFromChooseCollection(String name, int ind){
return this.getCollection(name).get(ind);
}
}

View File

@@ -1,8 +1,6 @@
package Drawnings; package Drawnings;
import CollectionGenericObjects.AbstractCompany; import CollectionGenericObjects.*;
import CollectionGenericObjects.MassiveGenericObjects;
import CollectionGenericObjects.TransSharingService;
import Forms.FormConstructor; import Forms.FormConstructor;
import Forms.FormElectroTrans; import Forms.FormElectroTrans;
@@ -10,18 +8,29 @@ import javax.swing.*;
import java.awt.*; import java.awt.*;
import java.awt.event.WindowEvent; import java.awt.event.WindowEvent;
import java.util.Random; import java.util.Random;
import java.util.Stack;
public class DrawningAbstractCompany extends JComponent { public class DrawningAbstractCompany extends JComponent {
private AbstractCompany _company = null; private AbstractCompany _company = null;
public void collectionComboBox_SelectedIndexChanged(JComboBox<String> obj, int width, int height) { // public void collectionComboBox_SelectedIndexChanged(JComboBox<String> obj, int width, int height) {
private final StorageCollection<DrawningTrans> storageCollection = new StorageCollection<>();
private Stack<DrawningTrans> rubbishBinStack = new Stack<>();
public boolean collectionComboBox_SelectedIndexChanged(JFrame frame, JList<String> collectionList, JComboBox<String> obj, int width, int height) {
switch (obj.getSelectedIndex()) { switch (obj.getSelectedIndex()) {
case 1: case 1:
_company = new TransSharingService(width, height, new MassiveGenericObjects<DrawningTrans>()); if (collectionList.getSelectedIndex() == -1) {
break; JOptionPane.showMessageDialog(frame,
"Коллекция не выбрана");
return false;
}
_company = new TransSharingService(width, height, storageCollection.getCollection(collectionList.getSelectedValue()));
return true;
default: default:
break; return false;
} }
} }
public void createObject(int type, JFrame obj) { public void createObject(int type, JFrame obj) {
if (_company == null) { if (_company == null) {
return; return;
@@ -44,11 +53,11 @@ public class DrawningAbstractCompany extends JComponent {
} }
if (AbstractCompany.add(_company, _drawningTrans) != -1) { if (AbstractCompany.add(_company, _drawningTrans) != -1) {
JOptionPane.showMessageDialog(obj, "Объект добавлен"); JOptionPane.showMessageDialog(obj, "Объект добавлен");
} } else {
else {
JOptionPane.showMessageDialog(obj, "Не удалось добавить объект"); JOptionPane.showMessageDialog(obj, "Не удалось добавить объект");
} }
} }
Color getColorR(JFrame obj, Random rnd) { Color getColorR(JFrame obj, Random rnd) {
Color color = new Color(rnd.nextInt(0, 256), rnd.nextInt(0, 256), rnd.nextInt(0, 256)); Color color = new Color(rnd.nextInt(0, 256), rnd.nextInt(0, 256), rnd.nextInt(0, 256));
if (obj == null) { if (obj == null) {
@@ -59,9 +68,9 @@ public class DrawningAbstractCompany extends JComponent {
return JColorChooser.showDialog(obj, "Выберите цвет", color); return JColorChooser.showDialog(obj, "Выберите цвет", color);
} }
public void deleteButtonAction(int val, Frame obj) { public boolean deleteButtonAction(int val, Frame obj) {
if (_company == null) { if (_company == null) {
return; return false;
} }
int result = JOptionPane.showConfirmDialog( int result = JOptionPane.showConfirmDialog(
obj, obj,
@@ -69,13 +78,19 @@ public class DrawningAbstractCompany extends JComponent {
"Подтвердение", "Подтвердение",
JOptionPane.YES_NO_OPTION); JOptionPane.YES_NO_OPTION);
if (result == JOptionPane.YES_OPTION) { if (result == JOptionPane.YES_OPTION) {
if (AbstractCompany.remove(_company, val) != null) { DrawningTrans deletableTrans = AbstractCompany.remove(_company, val);
if (deletableTrans != null) {
rubbishBinStack.add(deletableTrans);
JOptionPane.showMessageDialog(obj, "Выполнено"); JOptionPane.showMessageDialog(obj, "Выполнено");
return true;
} else { } else {
JOptionPane.showMessageDialog(obj, "Удаление не удалось"); JOptionPane.showMessageDialog(obj, "Удаление не удалось");
return false;
} }
} }
return false;
} }
public void goToCheckButtonAction() { public void goToCheckButtonAction() {
if (_company == null) { if (_company == null) {
return; return;
@@ -89,14 +104,26 @@ public class DrawningAbstractCompany extends JComponent {
if (trans == null) { if (trans == null) {
return; return;
} }
createFormCatamaran(trans);
}
public boolean goToCheckFromRubbishBinAction() {
if (rubbishBinStack.isEmpty()) {
return false;
}
DrawningTrans trans = rubbishBinStack.pop();
createFormCatamaran(trans);
return !rubbishBinStack.isEmpty();
}
public void createFormCatamaran(DrawningTrans trans) {
FormElectroTrans formElectroTrans = new FormElectroTrans(); FormElectroTrans formElectroTrans = new FormElectroTrans();
formElectroTrans.setDrawningTrans(trans); formElectroTrans.setDrawningTrans(trans);
formElectroTrans.OpenFrame(); formElectroTrans.OpenFrame();
} }
private DrawningTrans createObject; private DrawningTrans createObject;
public void getObjFromConstructor(JFrame obj) { public void getObjFromConstructor(JFrame obj) {
if (_company == null) { if (_company == null) {
return; return;
@@ -116,6 +143,36 @@ public class DrawningAbstractCompany extends JComponent {
formConstructor.getjFrameConstructor().dispatchEvent(new WindowEvent(formConstructor.getjFrameConstructor(), WindowEvent.WINDOW_CLOSING)); formConstructor.getjFrameConstructor().dispatchEvent(new WindowEvent(formConstructor.getjFrameConstructor(), WindowEvent.WINDOW_CLOSING));
}); });
} }
public StorageCollection<DrawningTrans> addCollectionButtonAction(JFrame jFrameCollectionBoats, JTextField textFieldSetCollectionName,
JRadioButton massiveRadioButton, JRadioButton listRadioButton) {
if (textFieldSetCollectionName.getText().isEmpty() || (!massiveRadioButton.isSelected() && !listRadioButton.isSelected())) {
JOptionPane.showMessageDialog(jFrameCollectionBoats, "Не все элементы заполнены", "ERROR", JOptionPane.ERROR_MESSAGE);
return null;
}
CollectionType collectionType = CollectionType.None;
if (massiveRadioButton.isSelected())
collectionType = CollectionType.Massive;
else if (listRadioButton.isSelected())
collectionType = CollectionType.List;
storageCollection.addCollection(textFieldSetCollectionName.getText(), collectionType);
return storageCollection;
}
public StorageCollection<DrawningTrans> deleteCollectionButtonAction(JFrame jFrameCollectionLocomotive, JList<String> keysList) {
if (keysList.getSelectedIndex() != -1) {
int result = JOptionPane.showConfirmDialog(jFrameCollectionLocomotive, "Удалить объект?",
"Подтверждение", JOptionPane.YES_NO_OPTION);
if (result == JOptionPane.YES_OPTION) {
storageCollection.delCollection(keysList.getSelectedValue());
return storageCollection;
}
}
return null;
}
@Override @Override
public void paintComponent(Graphics g) { public void paintComponent(Graphics g) {
super.paintComponent(g); super.paintComponent(g);

View File

@@ -13,6 +13,7 @@ public class DrawningRectangleWheels implements IDrawWheels {
return; return;
} }
} }
_wheelsCount = WheelsCount.Two;
} }
@Override @Override

View File

@@ -40,7 +40,7 @@ public class DrawningTrans {
break; break;
} }
Random random = new Random(); Random random = new Random();
int wheelsCount = random.nextInt(1,4); int wheelsCount = random.nextInt(2,4);
drawWheels.setNumber(wheelsCount); drawWheels.setNumber(wheelsCount);
} }

View File

@@ -1,6 +1,9 @@
package Forms; package Forms;
import CollectionGenericObjects.CollectionType;
import CollectionGenericObjects.StorageCollection;
import Drawnings.DrawningAbstractCompany; import Drawnings.DrawningAbstractCompany;
import Drawnings.DrawningTrans;
import javax.swing.*; import javax.swing.*;
import javax.swing.text.NumberFormatter; import javax.swing.text.NumberFormatter;
@@ -8,6 +11,8 @@ import java.awt.*;
import java.awt.event.ComponentAdapter; import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent; import java.awt.event.ComponentEvent;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Collection;
public class FormTransCollection extends JFrame { public class FormTransCollection extends JFrame {
final private JFrame jFrameCollectionTranss = new JFrame(); final private JFrame jFrameCollectionTranss = new JFrame();
@@ -35,6 +40,34 @@ public class FormTransCollection extends JFrame {
final private JPanel addFromConstructorPanel = new JPanel(); final private JPanel addFromConstructorPanel = new JPanel();
final private JButton addFromConstructorButton = new JButton("Добавить из констркутора"); final private JButton addFromConstructorButton = new JButton("Добавить из констркутора");
final JRadioButton massiveRadioButton = new JRadioButton("Массив");
final JRadioButton listRadioButton = new JRadioButton("Лист");
final JPanel radioButtonsPanel = new JPanel();
final JButton addCollectionButton = new JButton("Добавить коллекцию");
final JPanel addCollectionPanel = new JPanel();
final JButton createCompanyButton = new JButton("Создать компанию");
final JPanel createCompanyPanel = new JPanel();
final JButton deleteCollectionButton = new JButton("Удалить коллекцию");
final JPanel deleteCollectionPanel = new JPanel();
DefaultListModel<String> listModel = new DefaultListModel<>();
JList<String> collectionsList = new JList<>(listModel);
final JPanel collectionsListPanel = new JPanel();
final JTextField setCollectionName = new JTextField();
final JLabel setCollectionNameLabel = new JLabel("Название коллекции:");
final JPanel setCollectionNamePanel = new JPanel();
final private ArrayList<Component> listOfDownPanel = new ArrayList<>();
final private JButton goGoToCheckFromRubbishBinButton = new JButton("<html><center>Отправить на тест<br> объект из мусорки</html>");
final private JPanel goGoToCheckFromRubbishBinPanel = new JPanel();
public void OpenFrame() { public void OpenFrame() {
jFrameCollectionTranss.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jFrameCollectionTranss.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
@@ -49,33 +82,68 @@ public class FormTransCollection extends JFrame {
labelPanel.add(toolsNameLabel); labelPanel.add(toolsNameLabel);
comboBoxPanel.setLayout(new BorderLayout()); comboBoxPanel.setLayout(new BorderLayout());
comboBoxPanel.setSize(new Dimension(130, 30)); comboBoxPanel.setSize(new Dimension(170, 25));
comboBoxPanel.add(comboBoxSelectorCompany, BorderLayout.CENTER); comboBoxPanel.add(comboBoxSelectorCompany, BorderLayout.CENTER);
addTransPanel.setLayout(new BorderLayout()); addTransPanel.setLayout(new BorderLayout());
addTransPanel.setSize(170, 40); addTransPanel.setSize(170, 25);
addTransPanel.add(buttonAddTrans, BorderLayout.CENTER); addTransPanel.add(buttonAddTrans, BorderLayout.CENTER);
addElectroTransPanel.setLayout(new BorderLayout()); addElectroTransPanel.setLayout(new BorderLayout());
addElectroTransPanel.setSize(170, 40); addElectroTransPanel.setSize(170, 25);
addElectroTransPanel.add(buttonAddElectroTrans, BorderLayout.CENTER); addElectroTransPanel.add(buttonAddElectroTrans, BorderLayout.CENTER);
removePanel.setLayout(new BorderLayout()); removePanel.setLayout(new BorderLayout());
removePanel.setSize(170, 40); removePanel.setSize(170, 25);
removePanel.add(buttonRemove, BorderLayout.CENTER); removePanel.add(buttonRemove, BorderLayout.CENTER);
goToCheckPanel.setLayout(new BorderLayout()); goToCheckPanel.setLayout(new BorderLayout());
goToCheckPanel.setSize(170, 40); goToCheckPanel.setSize(170, 25);
goToCheckPanel.add(goToCheckButton, BorderLayout.CENTER); goToCheckPanel.add(goToCheckButton, BorderLayout.CENTER);
refreshPanel.setLayout(new BorderLayout()); refreshPanel.setLayout(new BorderLayout());
refreshPanel.setSize(170, 40); refreshPanel.setSize(170, 25);
refreshPanel.add(refreshButton, BorderLayout.CENTER); refreshPanel.add(refreshButton, BorderLayout.CENTER);
addFromConstructorPanel.setLayout(new BorderLayout()); addFromConstructorPanel.setLayout(new BorderLayout());
addFromConstructorPanel.setSize(170, 40); addFromConstructorPanel.setSize(170, 25);
addFromConstructorPanel.add(addFromConstructorButton, BorderLayout.CENTER); addFromConstructorPanel.add(addFromConstructorButton, BorderLayout.CENTER);
setCollectionNamePanel.setLayout(new BorderLayout());
setCollectionNamePanel.setSize(170, 45);
setCollectionNamePanel.add(setCollectionNameLabel, BorderLayout.NORTH);
setCollectionNamePanel.add(setCollectionName, BorderLayout.SOUTH);
radioButtonsPanel.setLayout(new BorderLayout());
radioButtonsPanel.setSize(170, 25);
ButtonGroup group = new ButtonGroup();
group.add(massiveRadioButton);
group.add(listRadioButton);
radioButtonsPanel.add(massiveRadioButton, BorderLayout.WEST);
radioButtonsPanel.add(listRadioButton, BorderLayout.EAST);
addCollectionPanel.setLayout(new BorderLayout());
addCollectionPanel.setSize(170, 30);
addCollectionPanel.add(addCollectionButton, BorderLayout.CENTER);
collectionsListPanel.setLayout(new BorderLayout());
collectionsListPanel.setSize(170, 100);
JScrollPane scrollPane = new JScrollPane(collectionsList);
collectionsListPanel.add(scrollPane, BorderLayout.CENTER);
deleteCollectionPanel.setLayout(new BorderLayout());
deleteCollectionPanel.setSize(170, 30);
deleteCollectionPanel.add(deleteCollectionButton, BorderLayout.CENTER);
createCompanyPanel.setLayout(new BorderLayout());
createCompanyPanel.setSize(170, 30);
createCompanyPanel.add(createCompanyButton, BorderLayout.CENTER);
goGoToCheckFromRubbishBinPanel.setLayout(new BorderLayout());
goGoToCheckFromRubbishBinPanel.setSize(170, 50);
goGoToCheckFromRubbishBinPanel.add(goGoToCheckFromRubbishBinButton, BorderLayout.CENTER);
NumberFormat format = NumberFormat.getInstance(); NumberFormat format = NumberFormat.getInstance();
NumberFormatter formatter = new NumberFormatter(format); NumberFormatter formatter = new NumberFormatter(format);
formatter.setValueClass(Integer.class); formatter.setValueClass(Integer.class);
@@ -87,12 +155,18 @@ public class FormTransCollection extends JFrame {
JTextField textBoxPosition = new JFormattedTextField(formatter); JTextField textBoxPosition = new JFormattedTextField(formatter);
JPanel textBoxPanel = new JPanel(); JPanel textBoxPanel = new JPanel();
textBoxPanel.setLayout(new BorderLayout()); textBoxPanel.setLayout(new BorderLayout());
textBoxPanel.setSize(170, 40); textBoxPanel.setSize(170, 25);
textBoxPanel.add(textBoxPosition, BorderLayout.CENTER); textBoxPanel.add(textBoxPosition, BorderLayout.CENTER);
jFrameCollectionTranss.add(toolsPanel); jFrameCollectionTranss.add(toolsPanel);
jFrameCollectionTranss.add(labelPanel); jFrameCollectionTranss.add(labelPanel);
jFrameCollectionTranss.add(setCollectionNamePanel);
jFrameCollectionTranss.add(radioButtonsPanel);
jFrameCollectionTranss.add(addCollectionPanel);
jFrameCollectionTranss.add(collectionsListPanel);
jFrameCollectionTranss.add(deleteCollectionPanel);
jFrameCollectionTranss.add(comboBoxPanel); jFrameCollectionTranss.add(comboBoxPanel);
jFrameCollectionTranss.add(createCompanyPanel);
jFrameCollectionTranss.add(addTransPanel); jFrameCollectionTranss.add(addTransPanel);
jFrameCollectionTranss.add(addElectroTransPanel); jFrameCollectionTranss.add(addElectroTransPanel);
jFrameCollectionTranss.add(textBoxPanel); jFrameCollectionTranss.add(textBoxPanel);
@@ -100,33 +174,48 @@ public class FormTransCollection extends JFrame {
jFrameCollectionTranss.add(goToCheckPanel); jFrameCollectionTranss.add(goToCheckPanel);
jFrameCollectionTranss.add(refreshPanel); jFrameCollectionTranss.add(refreshPanel);
jFrameCollectionTranss.add(addFromConstructorPanel); jFrameCollectionTranss.add(addFromConstructorPanel);
jFrameCollectionTranss.add(goGoToCheckFromRubbishBinPanel);
jFrameCollectionTranss.add(_company); jFrameCollectionTranss.add(_company);
listOfDownPanel.add(buttonAddTrans);
listOfDownPanel.add(buttonAddElectroTrans);
listOfDownPanel.add(addFromConstructorButton);
listOfDownPanel.add(textBoxPosition);
listOfDownPanel.add(buttonRemove);
listOfDownPanel.add(goToCheckButton);
listOfDownPanel.add(goGoToCheckFromRubbishBinButton);
listOfDownPanel.add(refreshButton);
setEnableComponentsOfList(listOfDownPanel, false);
jFrameCollectionTranss.addComponentListener(new ComponentAdapter() { jFrameCollectionTranss.addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent componentEvent) { public void componentResized(ComponentEvent componentEvent) {
labelPanel.setLocation(jFrameCollectionTranss.getWidth() - 210, 0); labelPanel.setLocation(jFrameCollectionTranss.getWidth() - 210, 0);
toolsPanel.setLocation(jFrameCollectionTranss.getWidth() - 233, 0); toolsPanel.setLocation(jFrameCollectionTranss.getWidth() - 233, 0);
comboBoxPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, 30); setCollectionNamePanel.setLocation(jFrameCollectionTranss.getWidth() - 200, 30);
addTransPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, 70); radioButtonsPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, 78);
addElectroTransPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, 120); addCollectionPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, 103);
textBoxPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, 220); collectionsListPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, 137);
removePanel.setLocation(jFrameCollectionTranss.getWidth() - 200, 260); deleteCollectionPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, 227);
goToCheckPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, 300); comboBoxPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, jFrameCollectionTranss.getHeight() - 400);
refreshPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, 340); createCompanyPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, jFrameCollectionTranss.getHeight() - 370);
addFromConstructorPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, 170); goToCheckPanel.setLocation(jFrameCollectionTranss.getWidth() - 200,
jFrameCollectionTranss.getHeight() - 320);
goGoToCheckFromRubbishBinPanel.setLocation(jFrameCollectionTranss.getWidth() - 200,
jFrameCollectionTranss.getHeight() - 295);
addTransPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, jFrameCollectionTranss.getHeight() - 241);
addElectroTransPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, jFrameCollectionTranss.getHeight() - 214);
addFromConstructorPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, jFrameCollectionTranss.getHeight() - 187);
textBoxPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, jFrameCollectionTranss.getHeight() - 146);
removePanel.setLocation(jFrameCollectionTranss.getWidth() - 200, jFrameCollectionTranss.getHeight() - 119);
refreshPanel.setLocation(jFrameCollectionTranss.getWidth() - 200, jFrameCollectionTranss.getHeight() - 67);
toolsPanel.setSize(new Dimension(10, jFrameCollectionTranss.getHeight())); toolsPanel.setSize(new Dimension(10, jFrameCollectionTranss.getHeight()));
jFrameCollectionTranss.repaint(); jFrameCollectionTranss.repaint();
} }
}); });
comboBoxSelectorCompany.addActionListener(e -> {
_company.collectionComboBox_SelectedIndexChanged(comboBoxSelectorCompany,
jFrameCollectionTranss.getWidth() - 233, jFrameCollectionTranss.getHeight());
jFrameCollectionTranss.repaint();
});
buttonAddTrans.addActionListener(e -> { buttonAddTrans.addActionListener(e -> {
_company.createObject(0, jFrameCollectionTranss); _company.createObject(0, jFrameCollectionTranss);
jFrameCollectionTranss.repaint(); jFrameCollectionTranss.repaint();
@@ -137,16 +226,22 @@ public class FormTransCollection extends JFrame {
}); });
buttonRemove.addActionListener(e -> { buttonRemove.addActionListener(e -> {
int pos = -1;
if (!textBoxPosition.getText().isEmpty()) { if (!textBoxPosition.getText().isEmpty()) {
if (Integer.parseInt(textBoxPosition.getText()) <= 99 int inputPos = Integer.parseInt(textBoxPosition.getText());
&& Integer.parseInt(textBoxPosition.getText()) >= 0) { if (inputPos <= 99 && inputPos >= 0) {
int pos = Integer.parseInt(textBoxPosition.getText()); pos = inputPos;
_company.deleteButtonAction(pos, jFrameCollectionTranss);
} }
} }
jFrameCollectionTranss.repaint(); if (pos != -1) {
if (_company.deleteButtonAction(pos, jFrameCollectionTranss)) {
goGoToCheckFromRubbishBinButton.setEnabled(true);
}
jFrameCollectionTranss.repaint();
}
}); });
refreshButton.addActionListener(e -> { refreshButton.addActionListener(e -> {
jFrameCollectionTranss.repaint(); jFrameCollectionTranss.repaint();
}); });
@@ -154,11 +249,47 @@ public class FormTransCollection extends JFrame {
_company.goToCheckButtonAction(); _company.goToCheckButtonAction();
jFrameCollectionTranss.repaint(); jFrameCollectionTranss.repaint();
}); });
goGoToCheckFromRubbishBinButton.addActionListener(e -> {
goGoToCheckFromRubbishBinButton.setEnabled(_company.goToCheckFromRubbishBinAction());
jFrameCollectionTranss.repaint();
});
createCompanyButton.addActionListener(e -> {
boolean res = _company.collectionComboBox_SelectedIndexChanged(jFrameCollectionTranss, collectionsList, comboBoxSelectorCompany,
jFrameCollectionTranss.getWidth() - 233, jFrameCollectionTranss.getHeight());
setEnableComponentsOfList(listOfDownPanel, res);
jFrameCollectionTranss.repaint();
});
addFromConstructorButton.addActionListener(e -> { addFromConstructorButton.addActionListener(e -> {
_company.getObjFromConstructor(jFrameCollectionTranss); _company.getObjFromConstructor(jFrameCollectionTranss);
}); });
addCollectionButton.addActionListener(e -> {
StorageCollection<DrawningTrans> result = _company.addCollectionButtonAction(jFrameCollectionTranss, setCollectionName,
massiveRadioButton, listRadioButton);
updateCollectionsList(result);
});
deleteCollectionButton.addActionListener(e -> {
StorageCollection<DrawningTrans> result = _company.deleteCollectionButtonAction(jFrameCollectionTranss, collectionsList);
updateCollectionsList(result);
});
jFrameCollectionTranss.setVisible(true); jFrameCollectionTranss.setVisible(true);
} }
private void updateCollectionsList(StorageCollection<DrawningTrans> storageCollection) {
if (storageCollection == null) {
return;
}
listModel.clear();
ArrayList<String> keys = storageCollection.keys;
for (String key : keys) {
listModel.addElement(key);
}
}
private void setEnableComponentsOfList(ArrayList<Component> list, boolean type) {
for (var i : list) {
i.setEnabled(type);
}
}
} }