PIbd - 21 Bakalskaya E.D. LabWork7 Hard #10

Closed
ekallin wants to merge 12 commits from LabWork7 into LabWork6
6 changed files with 50 additions and 21 deletions
Showing only changes of commit 20677a82e6 - Show all commits

10
.idea/java.iml generated
View File

@ -7,6 +7,14 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="log4j-api-2_22_0" level="project" />
<orderEntry type="module-library" exported="">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../log4j-api-2_22_0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
</module>

View File

@ -8,12 +8,11 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Stack;
import org.apache.logging.log4j.Logger;
//готовая лаба 3
import org.apache.logging.log4j.*;
public class FormLocomotiveCollections {
private final Logger _logger;
FormElectricLocomotive formElectricLocomotive;
FormLocomotiveConfig formLocomotiveConfig;
private JPanel MainPanel;
@ -39,7 +38,10 @@ public class FormLocomotiveCollections {
return MainPanel;
}
public FormLocomotiveCollections() {
public FormLocomotiveCollections(Logger logger) {
_logger = logger;
formElectricLocomotive = new FormElectricLocomotive();
formLocomotiveConfig = new FormLocomotiveConfig();
_storage = new LocomotivesGenericStorage(400, 300);
@ -58,6 +60,7 @@ public class FormLocomotiveCollections {
}
_storage.AddSet(NameStorage);
ReloadObjects();
_logger.info("Добавлен набор: " + NameStorage);
Refresh();
});
@ -147,8 +150,7 @@ public class FormLocomotiveCollections {
"Ошибка",
JOptionPane.ERROR_MESSAGE);
}
}
catch(LocoNotFoundException ex){
} catch (LocoNotFoundException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage());
}
});
@ -191,7 +193,8 @@ public class FormLocomotiveCollections {
JOptionPane.showMessageDialog(null, "Не загрузилось", "Результат", JOptionPane.ERROR_MESSAGE);
}
} catch (FileNotFoundException ex) {
/*throw new RuntimeException(ex);*/
// logger.error("\n" + "Ошибка при загрузке всех объектов из файла: " + ex.getMessage());
JOptionPane.showMessageDialog(null, "Ошибка при загрузке всех объектов " + ex.getMessage(), "Результат", JOptionPane.ERROR_MESSAGE);
}
}
ReloadObjects();
@ -205,10 +208,13 @@ public class FormLocomotiveCollections {
fileChooser.setFileFilter(new FileNameExtensionFilter("Текстовые файлы (*.txt)", "txt"));
if (fileChooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {
File selectedFile = fileChooser.getSelectedFile();
if (_storage.SaveData(selectedFile.getAbsolutePath()))
try {
_storage.SaveData(selectedFile.getAbsolutePath());
JOptionPane.showMessageDialog(null, "Сохранение прошло успешно", "Результат", JOptionPane.INFORMATION_MESSAGE);
else
JOptionPane.showMessageDialog(null, "Не сохранилось", "Результат", JOptionPane.ERROR_MESSAGE);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Ошибка при сохранении всех объектов " + ex.getMessage(), "Результат", JOptionPane.ERROR_MESSAGE);
}
}
}
);
@ -227,7 +233,7 @@ public class FormLocomotiveCollections {
JOptionPane.showMessageDialog(null, "Не загрузилось", "Результат", JOptionPane.ERROR_MESSAGE);
}
} catch (IOException ex) {
/*throw new RuntimeException(ex);*/
JOptionPane.showMessageDialog(null, "Ошибка при загрузке коллекции " + ex.getMessage(), "Результат", JOptionPane.ERROR_MESSAGE);
}
}
ReloadObjects();
@ -245,10 +251,13 @@ public class FormLocomotiveCollections {
fileChooser.setDialogTitle("Выберите файл для сохранения данных");
if (fileChooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {
File selectedFile = fileChooser.getSelectedFile();
if (_storage.SaveDataSingle(selectedFile.getAbsolutePath(), (String) listBoxStorage.getSelectedValue()))
try {
_storage.SaveDataSingle(selectedFile.getAbsolutePath(), (String) listBoxStorage.getSelectedValue());
JOptionPane.showMessageDialog(null, "Сохранение прошло успешно", "Результат", JOptionPane.INFORMATION_MESSAGE);
else
JOptionPane.showMessageDialog(null, "Не сохранилось", "Результат", JOptionPane.ERROR_MESSAGE);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Ошибка при сохранении коллекции " + ex.getMessage(), "Результат", JOptionPane.ERROR_MESSAGE);
}
}
}
);

View File

@ -1,13 +1,14 @@
package ProjectElectricLocomotive;
import javax.swing.*;
import org.apache.logging.log4j.*;
public class FrameLocomotiveCollection extends JFrame {
public FormLocomotiveCollections _formLocomotiveCollections;
public FrameLocomotiveCollection(){
public FrameLocomotiveCollection(Logger logger){
super();
setTitle("Коллекция");setDefaultCloseOperation(EXIT_ON_CLOSE);
_formLocomotiveCollections = new FormLocomotiveCollections();
_formLocomotiveCollections = new FormLocomotiveCollections(logger);
setContentPane(_formLocomotiveCollections.getPictureBoxCollections());
this.setJMenuBar(_formLocomotiveCollections.getMenuBar());
setDefaultLookAndFeelDecorated(false);

View File

@ -1,6 +1,9 @@
package ProjectElectricLocomotive;
import java.io.Serializable;
//create lab 7
public class LocoNotFoundException extends RuntimeException {
public class LocoNotFoundException extends RuntimeException implements Serializable {
public LocoNotFoundException(int i) {
super("Не найден объект по позиции" + i);
}

View File

@ -1,6 +1,8 @@
package ProjectElectricLocomotive;
public class LocoStorageOverflowException extends RuntimeException{
import java.io.Serializable;
public class LocoStorageOverflowException extends RuntimeException implements Serializable {
public LocoStorageOverflowException(Throwable ex){
super(ex);
}

View File

@ -1,8 +1,14 @@
package ProjectElectricLocomotive;
import org.apache.logging.log4j.*;
public class Main {
public static void main(String[] args)
{
FrameLocomotiveCollection mainFrame = new FrameLocomotiveCollection();
System.setProperty("log4j.configutationFile", "C:\\code\\java\\ProjectElectricLocomotive\\loggerFile.xml");
// new FrameLocomotiveCollection(LogManager.getLogger("logger"));
FrameLocomotiveCollection frameLocomotiveCollection = new FrameLocomotiveCollection(LogManager.getLogger("logger"));
// new FormLocomotiveCollections(LogManager.getLogger(FormLocomotiveCollections.class));
}
}