Файл: Критерии выбора средств разработки мобильных приложений (Разработка требований к мобильным приложениям).pdf
Добавлен: 12.03.2024
Просмотров: 16
Скачиваний: 0
СОДЕРЖАНИЕ
1. Описание задачи на исследование и проектирование
1.1 Формулировка и описание и задачи
1.2 Разработка требований к мобильным приложениям
2. Реализация программного продукта
2.2 Описание модели приложения
2.3. Описание панели приложения
2.4. Описание формы приложения
}
}
});
btnStop.addActionListener(new ActionListener() {
@Override public void actionPerformed(ActionEvent e) {
synchronized (lifePanel.getLifeModel()) {
lifePanel.getLifeModel().clear();
lifePanel.repaint();
}
}
});
btnSaveToFile.addActionListener(new ActionListener() {
@Override public void actionPerformed(ActionEvent e) {
synchronized (lifePanel.getLifeModel()) {
try {
BufferedImage image = new BufferedImage(
lifePanel.getWidth(),
lifePanel.getHeight(),
BufferedImage.TYPE_INT_RGB
);
Graphics g = image.getGraphics();
lifePanel.paint(g);
ImageIO.write(image, "jpg", new File("LifeScreenshoot.jpg"));
FileWriter filewriter = new FileWriter(new File("LifeDB.txt"));
for (int y = 0; y < lifePanel.getLifeModel().getHeight(); y++) {
for (int x = 0; x < lifePanel.getLifeModel().getWidth(); x++) {
filewriter.write(lifePanel.getLifeModel().getCell(x, y) + " ");
}
filewriter.write("\r\n");
}
filewriter.flush();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
});
btnLoadFromFile.addActionListener(new ActionListener() {
@Override public void actionPerformed(ActionEvent e) {
synchronized (lifePanel.getLifeModel()) {
try {
byte value;
Scanner in = new Scanner(new File("LifeDB.txt"));
for (int y = 0; y < lifePanel.getLifeModel().getHeight(); y++) {
for (int x = 0; x < lifePanel.getLifeModel().getWidth(); x++) {
value = in.nextByte();
lifePanel.getLifeModel().setCell(x, y, value);
}
}
repaint();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
});
}
/**
* Конструктор
*/
public MainGUI(String title) {
super(title);
Initate();
AddListeners();
toolPanel.addSeparator();
toolPanel.add(new JLabel(" Размерполя"));
toolPanel.add(sliderSize);
toolPanel.add(new JLabel(" Скоростьигры"));
toolPanel.add(sliderUpdate);
toolPanel.addSeparator();
toolPanel.add(btnSaveToFile);
toolPanel.addSeparator();
toolPanel.add(btnLoadFromFile);
toolPanel.addSeparator();
pack();
setVisible(true);
}
/**
* Головнаяфункция
*/
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {}
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new MainGUI("ИграЖизнь");
}
});
}
}