diff --git a/ArmoredVehicle/src/DrawingObject.java b/ArmoredVehicle/src/DrawingObject.java index e49391e..4e7a52b 100644 --- a/ArmoredVehicle/src/DrawingObject.java +++ b/ArmoredVehicle/src/DrawingObject.java @@ -38,4 +38,8 @@ private DrawingArmoredVehicle _machine = null; public HashMap GetCurrentPosition() { return _machine.GetCurrentPosition(); } + public DrawingArmoredVehicle GetMachine() + { + return _machine; + } } diff --git a/ArmoredVehicle/src/FormMapWithSetMachine.form b/ArmoredVehicle/src/FormMapWithSetMachine.form index 57e1bb8..754ec91 100644 --- a/ArmoredVehicle/src/FormMapWithSetMachine.form +++ b/ArmoredVehicle/src/FormMapWithSetMachine.form @@ -88,37 +88,38 @@ + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - @@ -151,8 +152,11 @@ - - + + + + + @@ -187,7 +191,6 @@ - @@ -330,6 +333,14 @@ + + + + + + + + diff --git a/ArmoredVehicle/src/FormMapWithSetMachine.java b/ArmoredVehicle/src/FormMapWithSetMachine.java index afc9d74..ffc4456 100644 --- a/ArmoredVehicle/src/FormMapWithSetMachine.java +++ b/ArmoredVehicle/src/FormMapWithSetMachine.java @@ -9,6 +9,7 @@ import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.ArrayList; import java.util.HashMap; +import java.util.Queue; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; @@ -21,6 +22,7 @@ private Image img; put("Вертикальная карта", new VerticalMap()); put("Горизонтальная карта", new HorizontalMap()); }}; + public Queue deleted = new LinkedList<>(); public FormMapWithSetMachine() { initComponents(); LeftButton.setLabel("<"); @@ -58,6 +60,7 @@ private Image img; DeleteMapButton = new java.awt.Button(); jScrollPane2 = new javax.swing.JScrollPane(); MapList = new javax.swing.JList<>(); + DeletedFormOpen = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); @@ -68,11 +71,6 @@ private Image img; MapComboBox.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Простая карта", "Вертикальная карта", "Горизонтальная карта" })); MapComboBox.setName("MapComboBox"); // NOI18N - MapComboBox.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - MapComboBoxItemStateChanged(evt); - } - }); MapComboBox.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { MapComboBoxActionPerformed(evt); @@ -172,6 +170,13 @@ private Image img; }); jScrollPane2.setViewportView(MapList); + DeletedFormOpen.setText("Удаленные"); + DeletedFormOpen.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + DeletedFormOpenMouseClicked(evt); + } + }); + javax.swing.GroupLayout InstrumentPanelLayout = new javax.swing.GroupLayout(InstrumentPanel); InstrumentPanel.setLayout(InstrumentPanelLayout); InstrumentPanelLayout.setHorizontalGroup( @@ -188,30 +193,31 @@ private Image img; .addComponent(MapComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(MapNameTextField, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(DeleteMapButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(InstrumentPanelLayout.createSequentialGroup() .addGap(12, 12, 12) .addGroup(InstrumentPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(InstrumentPanelLayout.createSequentialGroup() + .addComponent(DeletedFormOpen, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(InstrumentPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(InstrumentPanelLayout.createSequentialGroup() + .addGap(25, 25, 25) + .addComponent(UpButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(27, 27, 27)) + .addGroup(InstrumentPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(RightButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, InstrumentPanelLayout.createSequentialGroup() + .addComponent(LeftButton, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(1, 1, 1) + .addComponent(DownButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(29, 29, 29)))) + .addGap(39, 39, 39)) .addComponent(AddMachineButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(TextBoxPosition, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(DeleteButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(StoreButton, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE) - .addComponent(MapButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, InstrumentPanelLayout.createSequentialGroup() - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 145, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGroup(InstrumentPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(InstrumentPanelLayout.createSequentialGroup() - .addGap(25, 25, 25) - .addComponent(UpButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(27, 27, 27)) - .addGroup(InstrumentPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(RightButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, InstrumentPanelLayout.createSequentialGroup() - .addComponent(LeftButton, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(1, 1, 1) - .addComponent(DownButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(29, 29, 29)))) - .addGap(39, 39, 39)) - .addComponent(DeleteMapButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addComponent(StoreButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(MapButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) .addContainerGap()))) ); InstrumentPanelLayout.setVerticalGroup( @@ -239,8 +245,10 @@ private Image img; .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(MapButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(25, 25, 25) - .addComponent(UpButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(1, 1, 1) + .addGroup(InstrumentPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(UpButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(DeletedFormOpen)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(InstrumentPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, InstrumentPanelLayout.createSequentialGroup() .addGroup(InstrumentPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) @@ -327,6 +335,7 @@ private Image img; "Удаление", JOptionPane.YES_NO_OPTION); if (res == JOptionPane.YES_OPTION) { int pos = Integer.parseInt(TextBoxPosition.getText()); + deleted.offer(_mapCollection.Get(MapList.getSelectedValue().toString()).GetMachineInList(pos).GetMachine()); if (_mapCollection.Get(MapList.getSelectedValue().toString()).remove(pos) != null) { JOptionPane.showMessageDialog(null, "Объект удален"); @@ -447,9 +456,24 @@ private void ReloadMaps() { Draw(); }//GEN-LAST:event_MapListValueChanged - private void MapComboBoxItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_MapComboBoxItemStateChanged - // TODO add your handling code here: - }//GEN-LAST:event_MapComboBoxItemStateChanged + private void DeletedFormOpenMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_DeletedFormOpenMouseClicked + var elem = deleted.poll(); + if(elem != null) + { + MainForm form = new MainForm(elem); + form.setVisible(true); + form.addWindowListener(new WindowAdapter() { + @Override + public void windowDeactivated(WindowEvent e) { + } + }); + } + else + { + JOptionPane.showMessageDialog(null, "Очередь пуста"); + } + + }//GEN-LAST:event_DeletedFormOpenMouseClicked public void Move(String name) { switch (name) @@ -506,6 +530,7 @@ private void ReloadMaps() { private java.awt.Button AddMapButton; private java.awt.Button DeleteButton; private java.awt.Button DeleteMapButton; + private javax.swing.JButton DeletedFormOpen; private java.awt.Button DownButton; private javax.swing.JPanel InstrumentPanel; private java.awt.Button LeftButton; diff --git a/ArmoredVehicle/src/MainForm.form b/ArmoredVehicle/src/MainForm.form index a203ad5..690a194 100644 --- a/ArmoredVehicle/src/MainForm.form +++ b/ArmoredVehicle/src/MainForm.form @@ -34,59 +34,86 @@ - - - - - - + + + + - - - - - - - + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - @@ -106,11 +133,6 @@ - - - - - @@ -123,11 +145,6 @@ - - - - - @@ -141,11 +158,6 @@ - - - - - @@ -159,11 +171,15 @@ - - - - - + + + + + + + + + diff --git a/ArmoredVehicle/src/MainForm.java b/ArmoredVehicle/src/MainForm.java index c806e1a..9f1f6ec 100644 --- a/ArmoredVehicle/src/MainForm.java +++ b/ArmoredVehicle/src/MainForm.java @@ -3,31 +3,31 @@ import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; +import java.awt.image.BufferedImage; import java.util.Random; import javax.swing.ImageIcon; +import javax.swing.JColorChooser; import javax.swing.JPanel; public class MainForm extends javax.swing.JFrame { private Image img; private DrawingArmoredVehicle _ArmoredVehicle; - private DrawingArmoredVehicle SelectedMachine; @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { - java.awt.GridBagConstraints gridBagConstraints; jButton1 = new javax.swing.JButton(); DrawPanel = new javax.swing.JPanel(){ Graphics2D g2;}; PropertyText = new java.awt.TextField(); - CreateButton = new java.awt.Button(); ImageIcon arrowUp = new ImageIcon("C:\\Users\\Alena\\Desktop\\New Folder\\JavaApplication4\\src\\Resources\\arrowUp.jpg"); UpButton = new java.awt.Button(); LeftButton = new java.awt.Button(); DownButton = new java.awt.Button(); RightButton = new java.awt.Button(); + exitButton = new java.awt.Button(); jButton1.setText("jButton1"); @@ -35,32 +35,11 @@ public class MainForm extends javax.swing.JFrame { setMinimumSize(new java.awt.Dimension(444, 303)); setName("MainFrame"); // NOI18N - DrawPanel.setLayout(new java.awt.GridBagLayout()); - gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 0; - gridBagConstraints.gridy = 4; - gridBagConstraints.gridwidth = 2; - gridBagConstraints.ipadx = 322; - gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; - gridBagConstraints.insets = new java.awt.Insets(10, 0, 10, 0); - DrawPanel.add(PropertyText, gridBagConstraints); - - CreateButton.setActionCommand("Create"); - CreateButton.setLabel("Создать"); - CreateButton.setName("CreateButton"); // NOI18N - CreateButton.addMouseListener(new java.awt.event.MouseAdapter() { - public void mouseClicked(java.awt.event.MouseEvent evt) { - CreateButtonMouseClicked(evt); + DrawPanel.addComponentListener(new java.awt.event.ComponentAdapter() { + public void componentShown(java.awt.event.ComponentEvent evt) { + DrawPanelComponentShown(evt); } }); - gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 0; - gridBagConstraints.gridy = 2; - gridBagConstraints.gridheight = 2; - gridBagConstraints.ipadx = 67; - gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; - gridBagConstraints.insets = new java.awt.Insets(13, 0, 0, 0); - DrawPanel.add(CreateButton, gridBagConstraints); UpButton.setActionCommand("Up"); UpButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); @@ -71,12 +50,6 @@ public class MainForm extends javax.swing.JFrame { UpButtonMouseClicked(evt); } }); - gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 4; - gridBagConstraints.gridy = 0; - gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; - gridBagConstraints.insets = new java.awt.Insets(160, 0, 0, 0); - DrawPanel.add(UpButton, gridBagConstraints); LeftButton.setActionCommand("Left"); LeftButton.setMinimumSize(new java.awt.Dimension(30, 30)); @@ -86,13 +59,6 @@ public class MainForm extends javax.swing.JFrame { LeftButtonMouseClicked(evt); } }); - gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 1; - gridBagConstraints.gridy = 1; - gridBagConstraints.gridwidth = 3; - gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; - gridBagConstraints.insets = new java.awt.Insets(0, 227, 0, 0); - DrawPanel.add(LeftButton, gridBagConstraints); DownButton.setActionCommand("Left"); DownButton.setLabel("↓"); @@ -103,11 +69,6 @@ public class MainForm extends javax.swing.JFrame { DownButtonMouseClicked(evt); } }); - gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 4; - gridBagConstraints.gridy = 2; - gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; - DrawPanel.add(DownButton, gridBagConstraints); RightButton.setActionCommand("Right"); RightButton.setLabel("→"); @@ -118,57 +79,96 @@ public class MainForm extends javax.swing.JFrame { RightButtonMouseClicked(evt); } }); - gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 5; - gridBagConstraints.gridy = 1; - gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; - gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 32); - DrawPanel.add(RightButton, gridBagConstraints); + + exitButton.setLabel("Выход"); + exitButton.setName(""); // NOI18N + exitButton.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + exitButtonMouseClicked(evt); + } + }); + + javax.swing.GroupLayout DrawPanelLayout = new javax.swing.GroupLayout(DrawPanel); + DrawPanel.setLayout(DrawPanelLayout); + DrawPanelLayout.setHorizontalGroup( + DrawPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(DrawPanelLayout.createSequentialGroup() + .addGroup(DrawPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(DrawPanelLayout.createSequentialGroup() + .addGap(367, 367, 367) + .addComponent(UpButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(DrawPanelLayout.createSequentialGroup() + .addGap(337, 337, 337) + .addComponent(LeftButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(30, 30, 30) + .addComponent(RightButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(DrawPanelLayout.createSequentialGroup() + .addGap(27, 27, 27) + .addGroup(DrawPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(DrawPanelLayout.createSequentialGroup() + .addComponent(exitButton, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(258, 258, 258) + .addComponent(DownButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(PropertyText, javax.swing.GroupLayout.PREFERRED_SIZE, 330, javax.swing.GroupLayout.PREFERRED_SIZE)))) + .addContainerGap(86, Short.MAX_VALUE)) + ); + DrawPanelLayout.setVerticalGroup( + DrawPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(DrawPanelLayout.createSequentialGroup() + .addGap(160, 160, 160) + .addComponent(UpButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(DrawPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(LeftButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(RightButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(DrawPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(exitButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(DrawPanelLayout.createSequentialGroup() + .addComponent(DownButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(13, 13, 13))) + .addGap(10, 10, 10) + .addComponent(PropertyText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGap(0, 451, Short.MAX_VALUE) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addComponent(DrawPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 445, Short.MAX_VALUE))) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(DrawPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGap(0, 309, Short.MAX_VALUE) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(DrawPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap())) + .addGroup(layout.createSequentialGroup() + .addComponent(DrawPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 22, Short.MAX_VALUE)) ); pack(); }// //GEN-END:initComponents - public MainForm() { + public MainForm(DrawingArmoredVehicle machine) { initComponents(); LeftButton.setLabel("<"); RightButton.setLabel(">"); UpButton.setLabel("/\\"); - DownButton.setLabel("\\/"); - } - private void CreateButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_CreateButtonMouseClicked + DownButton.setLabel("\\/"); + + _ArmoredVehicle = machine; + Draw(); + SetData(); + } + public void SetData() + { Random rnd = new Random(); - _ArmoredVehicle = new DrawingArmoredVehicle(rnd.nextInt(100, 300), rnd.nextInt(1000, 2000), - new Color(rnd.nextInt(0, 256), rnd.nextInt(0, 256), rnd.nextInt(0, 256))); _ArmoredVehicle.SetPosition(rnd.nextInt(0, 100), rnd.nextInt(25, 200), DrawPanel.getWidth(), DrawPanel.getHeight()); PropertyText.setText("Скорость: " + _ArmoredVehicle.ArmoredVehicle.Speed + " Вес: "+_ArmoredVehicle.ArmoredVehicle.Weight + " Цвет: "+_ArmoredVehicle.ArmoredVehicle.BodyColor.getRGB()+ " Катков: "+_ArmoredVehicle.Count); - Draw(); - - }//GEN-LAST:event_CreateButtonMouseClicked - + } public void Move(String name) { switch (name) @@ -180,9 +180,6 @@ public class MainForm extends javax.swing.JFrame { } Draw(); - } - public DrawingArmoredVehicle getSelectedCar() { - return SelectedMachine; } private void UpButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_UpButtonMouseClicked Move("UpButton"); @@ -200,12 +197,20 @@ public class MainForm extends javax.swing.JFrame { Move("DownButton"); }//GEN-LAST:event_DownButtonMouseClicked + private void exitButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_exitButtonMouseClicked + dispose(); + }//GEN-LAST:event_exitButtonMouseClicked + + private void DrawPanelComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_DrawPanelComponentShown + Draw(); + }//GEN-LAST:event_DrawPanelComponentShown + private void Draw() { Graphics g = DrawPanel.getGraphics(); - g.drawImage(img, 0, 0, this); + g.drawImage(Pic(), 0, 0, this); } private void createUIComponents() { DrawPanel = new JPanel() { @@ -215,15 +220,24 @@ public class MainForm extends javax.swing.JFrame { } }; } + Image Pic() + { + BufferedImage img = new BufferedImage(DrawPanel.getWidth(), DrawPanel.getHeight(), BufferedImage.TYPE_INT_BGR); + Graphics2D gr = img.createGraphics(); + gr.setBackground(Color.yellow); + _ArmoredVehicle.DrawTransport(gr); + return img; + } + // Variables declaration - do not modify//GEN-BEGIN:variables - private java.awt.Button CreateButton; private java.awt.Button DownButton; private javax.swing.JPanel DrawPanel; private java.awt.Button LeftButton; private java.awt.TextField PropertyText; private java.awt.Button RightButton; private java.awt.Button UpButton; + private java.awt.Button exitButton; private javax.swing.JButton jButton1; // End of variables declaration//GEN-END:variables diff --git a/ArmoredVehicle/src/MapWithSetMachineGeneric.java b/ArmoredVehicle/src/MapWithSetMachineGeneric.java index 87422c7..47a6645 100644 --- a/ArmoredVehicle/src/MapWithSetMachineGeneric.java +++ b/ArmoredVehicle/src/MapWithSetMachineGeneric.java @@ -34,7 +34,10 @@ public class MapWithSetMachineGeneric