DozorovaA.A_FourthLabWork #4
1
.gitignore
vendored
1
.gitignore
vendored
@ -34,3 +34,4 @@ dist/
|
||||
nbdist/
|
||||
.nb-gradle/
|
||||
|
||||
/.vs/PIbd-22_DozorovaAA_ArmoredVehicle_Hard/v17/.suo
|
||||
|
BIN
.vs/slnx.sqlite
BIN
.vs/slnx.sqlite
Binary file not shown.
@ -136,24 +136,28 @@ public abstract class AbstractMap {
|
||||
}
|
||||
int x = random.nextInt(0, 10);
|
||||
int y = random.nextInt(0, 10);
|
||||
drawingObject.SetObject(x, y, width, height);
|
||||
|
||||
HashMap<String, Float> hashMap = drawingObject.GetCurrentPosition();
|
||||
float left = hashMap.get("Left");
|
||||
float right = hashMap.get("Right");
|
||||
float top = hashMap.get("Top");
|
||||
float bottom = hashMap.get("Bottom");
|
||||
|
||||
for (int i = (int)(x / size_x); i <= (int) (right / size_x); i++)
|
||||
{
|
||||
for (int j = (int)(y / size_y); j <= (int) (bottom / size_y); j++)
|
||||
int beginI = (int)(x / size_x);
|
||||
int endI = (int)(hashMap.get("Right") / size_x);
|
||||
|
||||
int beginJ = (int)(y / size_y);
|
||||
int endJ = (int)(hashMap.get("Bottom") / size_y);
|
||||
|
||||
for (int i = beginI; i <= endI; i++)
|
||||
{
|
||||
if (map[i][j] == _barrier)
|
||||
for(int j = beginJ; j <= endJ; j++)
|
||||
{
|
||||
return false;
|
||||
if(map[i][j] == _barrier)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
drawingObject.SetObject(x, y, width, height);
|
||||
return true;
|
||||
}
|
||||
private Image DrawMapWithObject()
|
||||
|
@ -38,4 +38,8 @@ private DrawingArmoredVehicle _machine = null;
|
||||
public HashMap<String, Float> GetCurrentPosition() {
|
||||
return _machine.GetCurrentPosition();
|
||||
}
|
||||
public DrawingArmoredVehicle GetMachine()
|
||||
{
|
||||
return _machine;
|
||||
}
|
||||
}
|
||||
|
@ -24,7 +24,7 @@
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Component id="PicturePanel" pref="336" max="32767" attributes="0"/>
|
||||
<Component id="PicturePanel" pref="438" max="32767" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="InstrumentPanel" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
@ -32,8 +32,11 @@
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="PicturePanel" max="32767" attributes="0"/>
|
||||
<Component id="InstrumentPanel" alignment="0" max="32767" attributes="0"/>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Component id="PicturePanel" min="-2" pref="597" max="-2" attributes="0"/>
|
||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
@ -72,41 +75,55 @@
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Group type="102" attributes="0">
|
||||
<Component id="jLabel1" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace min="-2" pref="22" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="MapComboBox" pref="165" max="32767" attributes="0"/>
|
||||
<Component id="AddMachineButton" max="32767" attributes="0"/>
|
||||
<Component id="TextBoxPosition" alignment="0" max="32767" attributes="0"/>
|
||||
<Component id="DeleteButton" alignment="0" max="32767" attributes="0"/>
|
||||
<Component id="StoreButton" alignment="0" max="32767" attributes="0"/>
|
||||
<Component id="MapButton" alignment="0" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace min="25" pref="25" max="-2" attributes="0"/>
|
||||
<Component id="UpButton" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="27" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="103" alignment="0" groupAlignment="0" attributes="0">
|
||||
<Component id="RightButton" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<Component id="LeftButton" min="-2" pref="22" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="1" max="-2" attributes="0"/>
|
||||
<Component id="DownButton" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="29" max="-2" attributes="0"/>
|
||||
<Component id="AddMapButton" alignment="0" max="32767" attributes="0"/>
|
||||
<Group type="102" attributes="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="MapComboBox" max="32767" attributes="0"/>
|
||||
<Component id="MapNameTextField" alignment="1" max="32767" attributes="0"/>
|
||||
<Component id="jScrollPane2" alignment="1" max="32767" attributes="0"/>
|
||||
<Component id="DeleteMapButton" alignment="1" max="32767" attributes="0"/>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace min="-2" pref="12" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" attributes="0">
|
||||
<Component id="DeletedFormOpen" min="-2" pref="122" max="-2" attributes="0"/>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace min="25" pref="25" max="-2" attributes="0"/>
|
||||
<Component id="UpButton" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="27" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="103" alignment="0" groupAlignment="0" attributes="0">
|
||||
<Component id="RightButton" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<Component id="LeftButton" min="-2" pref="22" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="1" max="-2" attributes="0"/>
|
||||
<Component id="DownButton" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="29" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
<EmptySpace min="-2" pref="39" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="AddMachineButton" max="32767" attributes="0"/>
|
||||
<Component id="TextBoxPosition" alignment="0" max="32767" attributes="0"/>
|
||||
<Component id="DeleteButton" alignment="0" max="32767" attributes="0"/>
|
||||
<Component id="StoreButton" alignment="0" max="32767" attributes="0"/>
|
||||
<Component id="MapButton" alignment="0" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<EmptySpace min="-2" pref="49" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
@ -114,9 +131,17 @@
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Component id="jLabel1" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="21" max="-2" attributes="0"/>
|
||||
<Component id="MapNameTextField" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="MapComboBox" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="AddMapButton" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="jScrollPane2" min="-2" pref="117" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="22" max="-2" attributes="0"/>
|
||||
<Component id="DeleteMapButton" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="AddMachineButton" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="TextBoxPosition" min="-2" max="-2" attributes="0"/>
|
||||
@ -126,9 +151,12 @@
|
||||
<Component id="StoreButton" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="MapButton" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace pref="28" max="32767" attributes="0"/>
|
||||
<Component id="UpButton" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="1" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="25" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="UpButton" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="DeletedFormOpen" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<Group type="103" groupAlignment="0" max="-2" attributes="0">
|
||||
@ -139,7 +167,7 @@
|
||||
</Group>
|
||||
<Component id="DownButton" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
@ -265,6 +293,54 @@
|
||||
<AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new java.awt.Button()"/>
|
||||
</AuxValues>
|
||||
</Component>
|
||||
<Component class="java.awt.TextField" name="MapNameTextField">
|
||||
</Component>
|
||||
<Component class="java.awt.Button" name="AddMapButton">
|
||||
<Properties>
|
||||
<Property name="label" type="java.lang.String" value="Добавить карту"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="AddMapButtonMouseClicked"/>
|
||||
</Events>
|
||||
</Component>
|
||||
<Component class="java.awt.Button" name="DeleteMapButton">
|
||||
<Properties>
|
||||
<Property name="label" type="java.lang.String" value="Удалить карту"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="DeleteMapButtonMouseClicked"/>
|
||||
</Events>
|
||||
</Component>
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane2">
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JList" name="MapList">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor">
|
||||
<StringArray count="0"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="MapListValueChanged"/>
|
||||
</Events>
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/>
|
||||
</AuxValues>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Component class="javax.swing.JButton" name="DeletedFormOpen">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" value="Удаленные"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="DeletedFormOpenMouseClicked"/>
|
||||
</Events>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
|
@ -1,21 +1,40 @@
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.Image;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Queue;
|
||||
import javax.swing.event.ListSelectionEvent;
|
||||
import javax.swing.event.ListSelectionListener;
|
||||
|
||||
|
||||
public class FormMapWithSetMachine extends javax.swing.JFrame {
|
||||
private Image img;
|
||||
private MapWithSetArmoredCarsGeneric<DrawingObject, AbstractMap> _mapCollectionGeneric;
|
||||
private MapsCollection _mapCollection;
|
||||
private final HashMap<String, AbstractMap> _mapsDict = new HashMap<>() {{
|
||||
put("Простая карта", new SimpleMap());
|
||||
put("Вертикальная карта", new VerticalMap());
|
||||
put("Горизонтальная карта", new HorizontalMap());
|
||||
}};
|
||||
public Queue<DrawingArmoredVehicle> deleted = new LinkedList<>();
|
||||
public FormMapWithSetMachine() {
|
||||
initComponents();
|
||||
LeftButton.setLabel("<");
|
||||
RightButton.setLabel(">");
|
||||
UpButton.setLabel("/\\");
|
||||
DownButton.setLabel("\\/");
|
||||
MapComboBox.removeAllItems();
|
||||
for (String elem : _mapsDict.keySet()) {
|
||||
MapComboBox.addItem(elem);
|
||||
}
|
||||
_mapCollection = new MapsCollection(PicturePanel.getWidth(), PicturePanel.getHeight());
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -36,6 +55,12 @@ private Image img;
|
||||
DownButton = new java.awt.Button();
|
||||
LeftButton = new java.awt.Button();
|
||||
UpButton = new java.awt.Button();
|
||||
MapNameTextField = new java.awt.TextField();
|
||||
AddMapButton = new java.awt.Button();
|
||||
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);
|
||||
|
||||
@ -124,6 +149,34 @@ private Image img;
|
||||
}
|
||||
});
|
||||
|
||||
AddMapButton.setLabel("Добавить карту");
|
||||
AddMapButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||
AddMapButtonMouseClicked(evt);
|
||||
}
|
||||
});
|
||||
|
||||
DeleteMapButton.setLabel("Удалить карту");
|
||||
DeleteMapButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||
DeleteMapButtonMouseClicked(evt);
|
||||
}
|
||||
});
|
||||
|
||||
MapList.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
|
||||
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
|
||||
MapListValueChanged(evt);
|
||||
}
|
||||
});
|
||||
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(
|
||||
@ -132,38 +185,56 @@ private Image img;
|
||||
.addComponent(jLabel1)
|
||||
.addGap(0, 0, Short.MAX_VALUE))
|
||||
.addGroup(InstrumentPanelLayout.createSequentialGroup()
|
||||
.addGap(22, 22, 22)
|
||||
.addGroup(InstrumentPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(MapComboBox, 0, 165, Short.MAX_VALUE)
|
||||
.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, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(MapButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addContainerGap())
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, InstrumentPanelLayout.createSequentialGroup()
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addContainerGap()
|
||||
.addGroup(InstrumentPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(AddMapButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.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(49, 49, 49))
|
||||
.addGroup(InstrumentPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.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, 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(
|
||||
InstrumentPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(InstrumentPanelLayout.createSequentialGroup()
|
||||
.addComponent(jLabel1)
|
||||
.addGap(21, 21, 21)
|
||||
.addComponent(MapNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(MapComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(AddMapButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(22, 22, 22)
|
||||
.addComponent(DeleteMapButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(AddMachineButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(TextBoxPosition, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
@ -173,9 +244,11 @@ private Image img;
|
||||
.addComponent(StoreButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(MapButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 28, Short.MAX_VALUE)
|
||||
.addComponent(UpButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(1, 1, 1)
|
||||
.addGap(25, 25, 25)
|
||||
.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)
|
||||
@ -183,7 +256,7 @@ private Image img;
|
||||
.addComponent(RightButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(21, 21, 21))
|
||||
.addComponent(DownButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addContainerGap())
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
);
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||
@ -191,14 +264,16 @@ private Image img;
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(PicturePanel, javax.swing.GroupLayout.DEFAULT_SIZE, 336, Short.MAX_VALUE)
|
||||
.addComponent(PicturePanel, javax.swing.GroupLayout.DEFAULT_SIZE, 438, Short.MAX_VALUE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(InstrumentPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(PicturePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(InstrumentPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(PicturePanel, javax.swing.GroupLayout.PREFERRED_SIZE, 597, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(0, 0, Short.MAX_VALUE))
|
||||
);
|
||||
|
||||
pack();
|
||||
@ -220,39 +295,13 @@ private Image img;
|
||||
Move("UpButton");
|
||||
}//GEN-LAST:event_UpButtonMouseClicked
|
||||
|
||||
private void MapComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MapComboBoxActionPerformed
|
||||
AbstractMap map = null;
|
||||
String name = (String) MapComboBox.getSelectedItem();
|
||||
switch (name)
|
||||
{
|
||||
case "Простая карта":
|
||||
map = new SimpleMap();
|
||||
break;
|
||||
case "Горизонтальная карта":
|
||||
map = new HorizontalMap();
|
||||
break;
|
||||
case "Вертикальная карта":
|
||||
map = new VerticalMap();
|
||||
break;
|
||||
}
|
||||
if (map != null)
|
||||
{
|
||||
_mapCollectionGeneric = new MapWithSetArmoredCarsGeneric<DrawingObject, AbstractMap>(
|
||||
PicturePanel.getWidth(), PicturePanel.getHeight(), map);
|
||||
}
|
||||
else
|
||||
{
|
||||
_mapCollectionGeneric = null;
|
||||
}
|
||||
}//GEN-LAST:event_MapComboBoxActionPerformed
|
||||
|
||||
private void AddMachineButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_AddMachineButtonMouseClicked
|
||||
if (_mapCollectionGeneric == null)
|
||||
if (_mapCollection == null)
|
||||
{
|
||||
JOptionPane.showMessageDialog(null, "Не выбрана карта");
|
||||
return;
|
||||
}
|
||||
PolimorphForm form = new PolimorphForm();
|
||||
MapForm form = new MapForm();
|
||||
form.setVisible(true);
|
||||
form.addWindowListener(new WindowAdapter() {
|
||||
@Override
|
||||
@ -260,15 +309,17 @@ private Image img;
|
||||
if (form.getSelectedCar() == null)
|
||||
return;
|
||||
DrawingObject machine = new DrawingObject(form.getSelectedCar());
|
||||
if (_mapCollectionGeneric.add(machine) > -1)
|
||||
if (_mapCollection.Get(MapList.getSelectedValue().toString()).add(machine) != -1)
|
||||
{
|
||||
if (form.DialogResult) {
|
||||
JOptionPane.showMessageDialog(null, "Объект добавлен");
|
||||
img = _mapCollectionGeneric.ShowSet();
|
||||
img = _mapCollection.Get(MapList.getSelectedValue().toString()).ShowSet();
|
||||
Draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
JOptionPane.showMessageDialog(null, "Не удалось добавить объект");
|
||||
JOptionPane.showMessageDialog(null, MapList.getSelectedValue().toString()+" Не удалось добавить объект");
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -284,10 +335,11 @@ private Image img;
|
||||
"Удаление", JOptionPane.YES_NO_OPTION);
|
||||
if (res == JOptionPane.YES_OPTION) {
|
||||
int pos = Integer.parseInt(TextBoxPosition.getText());
|
||||
if (_mapCollectionGeneric.remove(pos) != null)
|
||||
deleted.offer(_mapCollection.Get(MapList.getSelectedValue().toString()).GetMachineInList(pos).GetMachine());
|
||||
if (_mapCollection.Get(MapList.getSelectedValue().toString()).remove(pos) != null)
|
||||
{
|
||||
JOptionPane.showMessageDialog(null, "Объект удален");
|
||||
img = _mapCollectionGeneric.ShowSet();
|
||||
img = _mapCollection.Get(MapList.getSelectedValue().toString()).ShowSet();
|
||||
Draw();
|
||||
}
|
||||
else
|
||||
@ -298,30 +350,138 @@ private Image img;
|
||||
}//GEN-LAST:event_DeleteButtonMouseClicked
|
||||
|
||||
private void StoreButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_StoreButtonMouseClicked
|
||||
if (_mapCollectionGeneric == null)
|
||||
if (_mapCollection == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
img = _mapCollectionGeneric.ShowSet();
|
||||
img = _mapCollection.Get(MapList.getSelectedValue().toString()).ShowSet();
|
||||
Draw();
|
||||
}//GEN-LAST:event_StoreButtonMouseClicked
|
||||
|
||||
private void MapButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_MapButtonMouseClicked
|
||||
if (_mapCollectionGeneric == null)
|
||||
if (_mapCollection == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
img = _mapCollectionGeneric.ShowOnMap();
|
||||
img = _mapCollection.Get(MapList.getSelectedValue().toString()).ShowOnMap();
|
||||
Draw();
|
||||
}//GEN-LAST:event_MapButtonMouseClicked
|
||||
|
||||
private void AddMapButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_AddMapButtonMouseClicked
|
||||
if (MapComboBox.getSelectedIndex() == -1 || MapNameTextField.getText().isEmpty()) {
|
||||
JOptionPane.showMessageDialog(null, "Не все данные заполнены", "Ошибка", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
if (!_mapsDict.containsKey(MapComboBox.getSelectedItem())) {
|
||||
JOptionPane.showMessageDialog(null, "Нет такой карты", "Ошибка", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
_mapCollection.AddMap(MapNameTextField.getText(), _mapsDict.get(MapComboBox.getSelectedItem().toString()));
|
||||
|
||||
ReloadMaps();
|
||||
}//GEN-LAST:event_AddMapButtonMouseClicked
|
||||
private void ReloadMaps() {
|
||||
int index = MapList.getSelectedIndex();
|
||||
var list =_mapCollection.getKeys();
|
||||
MapList.setListData(list);
|
||||
var model = MapList.getModel();
|
||||
if (MapList.getModel().getSize() > 0 && (index == -1 || index >=
|
||||
MapList.getModel().getSize()))
|
||||
{
|
||||
MapList.setSelectedIndex(0);
|
||||
}
|
||||
else if (MapList.getModel().getSize() > 0 && index > -1 && index <
|
||||
MapList.getModel().getSize())
|
||||
{
|
||||
MapList.setSelectedIndex(index);
|
||||
}
|
||||
if(_mapCollection.Get((String)MapList.getSelectedValue()) == null)
|
||||
{
|
||||
|
||||
JOptionPane.showMessageDialog(null, "Такой карты нет");
|
||||
}
|
||||
else
|
||||
{
|
||||
img = _mapCollection.Get((String)MapList.getSelectedValue()).ShowSet();
|
||||
Draw();
|
||||
}
|
||||
}
|
||||
private void DeleteMapButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_DeleteMapButtonMouseClicked
|
||||
if (MapList.getSelectedIndex() == -1) {
|
||||
return;
|
||||
}
|
||||
if (JOptionPane.showConfirmDialog(null, "Удалить карту " + MapList.getSelectedValue().toString() + "?",
|
||||
"Удаление", JOptionPane.YES_NO_OPTION) == 0) {
|
||||
_mapCollection.DelMap(MapList.getSelectedValue().toString());
|
||||
ReloadMaps();
|
||||
}
|
||||
}//GEN-LAST:event_DeleteMapButtonMouseClicked
|
||||
|
||||
private void MapComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MapComboBoxActionPerformed
|
||||
AbstractMap map = null;
|
||||
String name = (String) MapComboBox.getSelectedItem();
|
||||
if(name!=null)
|
||||
{
|
||||
switch (name)
|
||||
{
|
||||
case "Простая карта":
|
||||
map = new SimpleMap();
|
||||
break;
|
||||
case "Горизонтальная карта":
|
||||
map = new HorizontalMap();
|
||||
break;
|
||||
case "Вертикальная карта":
|
||||
map = new VerticalMap();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (map != null)
|
||||
{
|
||||
_mapCollection = new MapsCollection(PicturePanel.getWidth(), PicturePanel.getHeight());
|
||||
}
|
||||
else
|
||||
{
|
||||
_mapCollection = null;
|
||||
}
|
||||
}//GEN-LAST:event_MapComboBoxActionPerformed
|
||||
|
||||
private void MapListValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_MapListValueChanged
|
||||
var object = MapList.getSelectedValue();
|
||||
if(object == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
img = _mapCollection.Get((String)MapList.getSelectedValue()).ShowSet();
|
||||
Draw();
|
||||
}//GEN-LAST:event_MapListValueChanged
|
||||
|
||||
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)
|
||||
{
|
||||
case "UpButton" -> img = _mapCollectionGeneric.MoveObject(Direction.Up);
|
||||
case "DownButton" -> img = _mapCollectionGeneric.MoveObject(Direction.Down);
|
||||
case "LeftButton" -> img = _mapCollectionGeneric.MoveObject(Direction.Left);
|
||||
case "RightButton" -> img = _mapCollectionGeneric.MoveObject(Direction.Right);
|
||||
case "UpButton" -> img = _mapCollection.Get(MapList.getSelectedValue().toString()).MoveObject(Direction.Up);
|
||||
case "DownButton" -> img = _mapCollection.Get(MapList.getSelectedValue().toString()).MoveObject(Direction.Down);
|
||||
case "LeftButton" -> img =_mapCollection.Get(MapList.getSelectedValue().toString()).MoveObject(Direction.Left);
|
||||
case "RightButton" -> img = _mapCollection.Get(MapList.getSelectedValue().toString()).MoveObject(Direction.Right);
|
||||
}
|
||||
|
||||
Draw();
|
||||
@ -367,17 +527,23 @@ private Image img;
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private java.awt.Button AddMachineButton;
|
||||
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;
|
||||
private java.awt.Button MapButton;
|
||||
private javax.swing.JComboBox<String> MapComboBox;
|
||||
private javax.swing.JList<String> MapList;
|
||||
private java.awt.TextField MapNameTextField;
|
||||
private javax.swing.JPanel PicturePanel;
|
||||
private java.awt.Button RightButton;
|
||||
private java.awt.Button StoreButton;
|
||||
private java.awt.TextField TextBoxPosition;
|
||||
private java.awt.Button UpButton;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JScrollPane jScrollPane2;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
}
|
||||
|
@ -34,59 +34,86 @@
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<EmptySpace min="0" pref="451" max="32767" attributes="0"/>
|
||||
<Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="DrawPanel" pref="445" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="DrawPanel" max="32767" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<EmptySpace min="0" pref="309" max="32767" attributes="0"/>
|
||||
<Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
<Component id="DrawPanel" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Component id="DrawPanel" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="0" pref="22" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JPanel" name="DrawPanel">
|
||||
<Events>
|
||||
<EventHandler event="componentShown" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="DrawPanelComponentShown"/>
|
||||
</Events>
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new javax.swing.JPanel(){
 Graphics2D g2;}"/>
|
||||
</AuxValues>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" attributes="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" attributes="0">
|
||||
<EmptySpace min="367" pref="367" max="-2" attributes="0"/>
|
||||
<Component id="UpButton" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" attributes="0">
|
||||
<EmptySpace min="337" pref="337" max="-2" attributes="0"/>
|
||||
<Component id="LeftButton" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="30" pref="30" max="-2" attributes="0"/>
|
||||
<Component id="RightButton" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace min="27" pref="27" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" attributes="0">
|
||||
<Component id="exitButton" min="-2" pref="78" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="258" max="-2" attributes="0"/>
|
||||
<Component id="DownButton" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="PropertyText" min="-2" pref="330" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
<EmptySpace pref="86" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" attributes="0">
|
||||
<EmptySpace min="160" pref="160" max="-2" attributes="0"/>
|
||||
<Component id="UpButton" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="LeftButton" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="RightButton" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="103" groupAlignment="1" attributes="0">
|
||||
<Component id="exitButton" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="102" attributes="0">
|
||||
<Component id="DownButton" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="13" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<EmptySpace min="10" pref="10" max="-2" attributes="0"/>
|
||||
<Component id="PropertyText" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Component class="java.awt.TextField" name="PropertyText">
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="0" gridY="4" gridWidth="2" gridHeight="1" fill="0" ipadX="322" ipadY="0" insetsTop="10" insetsLeft="0" insetsBottom="10" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="java.awt.Button" name="CreateButton">
|
||||
<Properties>
|
||||
<Property name="actionCommand" type="java.lang.String" value="Create"/>
|
||||
<Property name="label" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
||||
<Connection code=""Создать"" type="code"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="CreateButton" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="CreateButtonMouseClicked"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="0" gridY="2" gridWidth="1" gridHeight="2" fill="0" ipadX="67" ipadY="0" insetsTop="13" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="java.awt.Button" name="UpButton">
|
||||
<Properties>
|
||||
@ -106,11 +133,6 @@
|
||||
<AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new java.awt.Button()"/>
|
||||
<AuxValue name="JavaCodeGenerator_CreateCodePre" type="java.lang.String" value="ImageIcon arrowUp = new ImageIcon("C:\\Users\\Alena\\Desktop\\New Folder\\JavaApplication4\\src\\Resources\\arrowUp.jpg");"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="4" gridY="0" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="160" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="java.awt.Button" name="LeftButton">
|
||||
<Properties>
|
||||
@ -123,11 +145,6 @@
|
||||
<Events>
|
||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="LeftButtonMouseClicked"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="1" gridY="1" gridWidth="3" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="227" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="java.awt.Button" name="DownButton">
|
||||
<Properties>
|
||||
@ -141,11 +158,6 @@
|
||||
<Events>
|
||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="DownButtonMouseClicked"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="4" gridY="2" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="java.awt.Button" name="RightButton">
|
||||
<Properties>
|
||||
@ -159,11 +171,15 @@
|
||||
<Events>
|
||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="RightButtonMouseClicked"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||
<GridBagConstraints gridX="5" gridY="1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="32" anchor="18" weightX="0.0" weightY="0.0"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="java.awt.Button" name="exitButton">
|
||||
<Properties>
|
||||
<Property name="label" type="java.lang.String" value="Выход"/>
|
||||
<Property name="name" type="java.lang.String" value="" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="exitButtonMouseClicked"/>
|
||||
</Events>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
|
@ -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")
|
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//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();
|
||||
}// </editor-fold>//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
|
||||
|
||||
|
@ -16,6 +16,7 @@ public class MapForm extends JFrame{
|
||||
|
||||
private DrawingArmoredVehicle _ArmoredVehicle;
|
||||
private DrawingArmoredVehicle SelectedMachine;
|
||||
public boolean DialogResult = false;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
@ -197,7 +198,6 @@ public class MapForm extends JFrame{
|
||||
}//GEN-LAST:event_CreateButtonMouseClicked
|
||||
public void SetData()
|
||||
{
|
||||
|
||||
Random rnd = new Random();
|
||||
_ArmoredVehicle.SetPosition(rnd.nextInt(0, 100), rnd.nextInt(25, 200),
|
||||
DrawPanel.getWidth(), DrawPanel.getHeight());
|
||||
@ -260,6 +260,7 @@ public class MapForm extends JFrame{
|
||||
private void SetButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_SetButtonMouseClicked
|
||||
if (_ArmoredVehicle != null) {
|
||||
SelectedMachine = _ArmoredVehicle;
|
||||
DialogResult = true;
|
||||
dispose();
|
||||
}
|
||||
}//GEN-LAST:event_SetButtonMouseClicked
|
||||
|
@ -1,7 +1,7 @@
|
||||
import java.awt.*;
|
||||
import java.awt.image.BufferedImage;
|
||||
|
||||
public class MapWithSetArmoredCarsGeneric<T extends IDrawingObject, U extends AbstractMap> {
|
||||
public class MapWithSetMachineGeneric<T extends IDrawingObject, U extends AbstractMap> {
|
||||
|
||||
private int _pictureWidth;
|
||||
|
||||
@ -15,7 +15,7 @@ public class MapWithSetArmoredCarsGeneric<T extends IDrawingObject, U extends Ab
|
||||
|
||||
private U _map;
|
||||
|
||||
public MapWithSetArmoredCarsGeneric(int picWidth, int picHeight, U map)
|
||||
public MapWithSetMachineGeneric(int picWidth, int picHeight, U map)
|
||||
{
|
||||
int width = picWidth / _placeSizeWidth;
|
||||
int height = picHeight / _placeSizeHeight;
|
||||
@ -34,7 +34,10 @@ public class MapWithSetArmoredCarsGeneric<T extends IDrawingObject, U extends Ab
|
||||
{
|
||||
return _setCars.Remove(position);
|
||||
}
|
||||
|
||||
|
||||
public T GetMachineInList(int ind){
|
||||
return _setCars.Get(ind);
|
||||
}
|
||||
public Image ShowSet()
|
||||
{
|
||||
Image bmp = new BufferedImage(_pictureWidth, _pictureHeight, BufferedImage.TYPE_INT_BGR);
|
||||
@ -47,14 +50,9 @@ public class MapWithSetArmoredCarsGeneric<T extends IDrawingObject, U extends Ab
|
||||
public Image ShowOnMap()
|
||||
{
|
||||
Shaking();
|
||||
for (int i = 0; i < _setCars.getCount(); i++)
|
||||
{
|
||||
var car = _setCars.Get(i);
|
||||
if (car != null)
|
||||
{
|
||||
return _map.CreateMap(_pictureWidth, _pictureHeight, car);
|
||||
}
|
||||
}
|
||||
for (var machine : _setCars) {
|
||||
return _map.CreateMap(_pictureWidth, _pictureHeight, machine);
|
||||
}
|
||||
return new BufferedImage(_pictureWidth, _pictureHeight, BufferedImage.TYPE_INT_BGR);
|
||||
}
|
||||
|
||||
@ -111,13 +109,13 @@ public class MapWithSetArmoredCarsGeneric<T extends IDrawingObject, U extends Ab
|
||||
|
||||
private void DrawArmoredCars(Graphics g)
|
||||
{
|
||||
int width = _pictureWidth / _placeSizeWidth;
|
||||
for (int i = 0; i < _setCars.getCount(); i++)
|
||||
{
|
||||
if (_setCars.Get(i) != null) {
|
||||
int width = _pictureWidth / _placeSizeWidth;
|
||||
for(int i = 0; i<_setCars.getCount(); i++)
|
||||
{
|
||||
if (_setCars.Get(i) != null) {
|
||||
_setCars.Get(i).SetObject(i % width * _placeSizeWidth + 5, i / width * _placeSizeHeight + 10, _pictureWidth, _pictureHeight);
|
||||
_setCars.Get(i).DrawingObject((Graphics2D) g);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
105
ArmoredVehicle/src/MapsCollection.java
Normal file
105
ArmoredVehicle/src/MapsCollection.java
Normal file
@ -0,0 +1,105 @@
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
public class MapsCollection {
|
||||
/// <summary>
|
||||
/// Словарь (хранилище) с картами
|
||||
/// </summary>
|
||||
Map <String, MapWithSetMachineGeneric<DrawingObject, AbstractMap>> _mapStorages;
|
||||
/// <summary>
|
||||
/// Возвращение списка названий карт
|
||||
/// </summary>
|
||||
public ArrayList<String> Keys;
|
||||
/// <summary>
|
||||
/// Ширина окна отрисовки
|
||||
/// </summary>
|
||||
private int _pictureWidth;
|
||||
/// <summary>
|
||||
/// Высота окна отрисовки
|
||||
/// </summary>
|
||||
private int _pictureHeight;
|
||||
/// <summary>
|
||||
/// Конструктор
|
||||
/// </summary>
|
||||
/// <param name="pictureWidth"></param>
|
||||
/// <param name="pictureHeight"></param>
|
||||
public MapsCollection(int pictureWidth, int pictureHeight)
|
||||
{
|
||||
_mapStorages = new HashMap<String, MapWithSetMachineGeneric<DrawingObject, AbstractMap>>();
|
||||
Keys = new ArrayList<String>(_mapStorages.keySet());
|
||||
_pictureWidth = pictureWidth;
|
||||
_pictureHeight = pictureHeight;
|
||||
}
|
||||
public String[] getKeys() {
|
||||
String[] res = new String[_mapStorages.size()];
|
||||
int i = 0;
|
||||
for(String elem: _mapStorages.keySet())
|
||||
{
|
||||
res[i] = elem;
|
||||
i++;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Добавление карты
|
||||
/// </summary>
|
||||
/// <param name="name">Название карты</param>
|
||||
/// <param name="map">Карта</param>
|
||||
public void AddMap(String name, AbstractMap map)
|
||||
{
|
||||
if (_mapStorages.keySet().contains(name))
|
||||
{
|
||||
JOptionPane.showMessageDialog(null, "Такая карта уже есть");
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
var NewElem = new MapWithSetMachineGeneric<DrawingObject, AbstractMap>(
|
||||
_pictureWidth, _pictureHeight, map);
|
||||
_mapStorages.put(name, NewElem);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Удаление карты
|
||||
/// </summary>
|
||||
/// <param name="name">Название карты</param>
|
||||
public void DelMap(String name)
|
||||
{
|
||||
if (_mapStorages.keySet().contains(name))
|
||||
{
|
||||
_mapStorages.remove(name);
|
||||
}
|
||||
else
|
||||
{
|
||||
JOptionPane.showMessageDialog(null, "Такой карты нет");
|
||||
return;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Доступ к парковке
|
||||
/// </summary>
|
||||
/// <param name="ind"></param>
|
||||
/// <returns></returns>
|
||||
public MapWithSetMachineGeneric<DrawingObject, AbstractMap> Get(String ind)
|
||||
{
|
||||
if(_mapStorages.keySet().contains(ind))
|
||||
{
|
||||
return _mapStorages.get(ind);
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
public DrawingObject Get(String name, int ind) {
|
||||
if (_mapStorages.containsKey(name))
|
||||
{
|
||||
return _mapStorages.get(name).GetMachineInList(ind);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
@ -1,59 +1,67 @@
|
||||
import java.lang.reflect.Array;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
|
||||
public class SetArmoredCarsGeneric<T> {
|
||||
private T[] _places;
|
||||
|
||||
public class SetArmoredCarsGeneric<T> implements Iterable<T>{
|
||||
private ArrayList<T> _places;
|
||||
private int _MaxCount;
|
||||
public SetArmoredCarsGeneric(int count)
|
||||
{
|
||||
_places = (T[]) new Object[count];
|
||||
_MaxCount = count;
|
||||
_places = new ArrayList<T>(_MaxCount);
|
||||
}
|
||||
|
||||
public int getCount() {
|
||||
return _places != null ? _places.length : 0;
|
||||
return _places.isEmpty() ? 0 : _places.size();
|
||||
}
|
||||
|
||||
public int Insert(T armoredCar)
|
||||
{
|
||||
return Insert(armoredCar, 0);
|
||||
if(_places.size()+1 <= _MaxCount) return Insert(armoredCar, 0);
|
||||
else return -1;
|
||||
}
|
||||
|
||||
public int Insert(T armoredCar, int position)
|
||||
{
|
||||
if (position < 0 || position >= getCount())
|
||||
if ((position < 0 || position > getCount()))
|
||||
return -1;
|
||||
|
||||
if (!(_places[position] == null))
|
||||
{
|
||||
int index_empty = -1;
|
||||
// поиск первого пустого элемента
|
||||
for (int i = position + 1; i < getCount(); i++)
|
||||
{
|
||||
if (_places[i] == null)
|
||||
{
|
||||
index_empty = i;
|
||||
}
|
||||
}
|
||||
if (index_empty == -1)
|
||||
return -1;
|
||||
else
|
||||
{
|
||||
for (int i = index_empty; i > position; i--)
|
||||
{
|
||||
_places[i] = _places[i - 1];
|
||||
}
|
||||
}
|
||||
}
|
||||
_places[position] = armoredCar;
|
||||
// if(_places.isEmpty())
|
||||
|
||||
// {
|
||||
// _places.add(armoredCar);
|
||||
// return 0;
|
||||
// }
|
||||
// if ((_places.get(position) != null) && !_places.isEmpty())
|
||||
// {
|
||||
// int index_empty = -1;
|
||||
// // поиск первого пустого элемента
|
||||
// for (int i = position + 1; i < _MaxCount; i++)
|
||||
// {
|
||||
// if (_places.get(i) == null)
|
||||
// {
|
||||
// index_empty = i;
|
||||
// }
|
||||
// }
|
||||
// if (index_empty == -1)
|
||||
// return -1;
|
||||
// else
|
||||
// {
|
||||
// for (int i = index_empty; i > position; i--)
|
||||
// {
|
||||
// _places.set(i, _places.get(i-1));
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
_places.add(position, armoredCar);
|
||||
|
||||
return position;
|
||||
}
|
||||
|
||||
public T Remove(int position)
|
||||
{
|
||||
if (position < 0 || position >= getCount())
|
||||
if (position < 0 || position >= getCount() || _places.get(position) == null)
|
||||
return null;
|
||||
T armoredCar = _places[position];
|
||||
_places[position] = null;
|
||||
T armoredCar = _places.get(position);
|
||||
_places.set(position, null);
|
||||
|
||||
return armoredCar;
|
||||
}
|
||||
|
||||
@ -61,6 +69,16 @@ public class SetArmoredCarsGeneric<T> {
|
||||
{
|
||||
if (position < 0 || position >= getCount())
|
||||
return null;
|
||||
return _places[position];
|
||||
return _places.get(position);
|
||||
}
|
||||
public void Set(int position, T value){
|
||||
if (position < 0 || position + 1 >= getCount())
|
||||
return;
|
||||
Insert(value, position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<T> iterator() {
|
||||
return _places.iterator();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user
Закомментированного кода быть не должно