From 86539b4d23ffeb06da43c35d608494958fdd79b9 Mon Sep 17 00:00:00 2001 From: Inohara Date: Thu, 3 Nov 2022 18:06:25 +0400 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=B2=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=85,?= =?UTF-8?q?=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D0=B4=D0=BE=D0=BF.=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/DrawingAircraftCarrier.java | 7 +- src/DrawingMap.java | 67 ------------- src/DrawingWarship.java | 5 + src/FormMap.form | 137 -------------------------- src/FormMap.java | 84 ---------------- src/FormMapWithSetWarships.form | 4 +- src/FormMapWithSetWarships.java | 165 ++++++++++++++++++-------------- src/FormWarship.java | 87 +++++++---------- src/FormWarshipCreator.form | 64 +++---------- src/FormWarshipCreator.java | 109 ++++++++++++++++++++- src/Main.java | 1 - src/WarshipCreatorGeneric.java | 33 ++++--- 12 files changed, 269 insertions(+), 494 deletions(-) delete mode 100644 src/DrawingMap.java delete mode 100644 src/FormMap.form delete mode 100644 src/FormMap.java diff --git a/src/DrawingAircraftCarrier.java b/src/DrawingAircraftCarrier.java index 97659ff..3a501f7 100644 --- a/src/DrawingAircraftCarrier.java +++ b/src/DrawingAircraftCarrier.java @@ -8,6 +8,11 @@ public class DrawingAircraftCarrier extends DrawingWarship{ Warship = new EntityAircraftCarrier(speed, weight, bodyColor, dopColor, bodyKit, cabin, superEngine); } + public DrawingAircraftCarrier(EntityWarship warship, IDrawingObjectBlock additionalObject) { + super(warship, additionalObject); + Warship = warship; + } + @Override public void DrawTransport(Graphics gr){ if(!(Warship instanceof EntityAircraftCarrier)) @@ -79,4 +84,4 @@ public class DrawingAircraftCarrier extends DrawingWarship{ g2.drawRect(_startPosX + 85, _startPosY + 13, 10, 14); } } -} +} \ No newline at end of file diff --git a/src/DrawingMap.java b/src/DrawingMap.java deleted file mode 100644 index 005bd6e..0000000 --- a/src/DrawingMap.java +++ /dev/null @@ -1,67 +0,0 @@ -import javax.swing.*; -import java.awt.*; -import java.awt.image.BufferedImage; -import java.util.Random; - -public class DrawingMap extends JPanel{ - private final FormMap Map; - private AbstractMap _abstractMap; - BufferedImage bufferedImage; - public DrawingMap(FormMap map){ - Map = map; - _abstractMap = new SimpleMap(); - } - - @Override - protected void paintComponent(Graphics g) { - super.paintComponent(g); - g.drawImage(bufferedImage,0,0,null); - } - - private void SetData(DrawingWarship warship) { - Random rnd = new Random(); - warship.SetPosition(rnd.nextInt(10, 100), rnd.nextInt(10, 100), getWidth(),getHeight()); - Map.toolBarLabelSpeed.setText("Color: " + warship.GetWarship().GetSpeed() + " "); - Map.toolBarLabelWieght.setText("Weight: " + warship.GetWarship().GetWeight() + " "); - Map.toolBarLabelColor.setText("Color: " + warship.GetWarship().GetBodyColor().getRed() + " " + - warship.GetWarship().GetBodyColor().getGreen() + " " + warship.GetWarship().GetBodyColor().getBlue()); - bufferedImage = _abstractMap.CreateMap(750,550,new DrawingObjectWarship(warship)); - } - //Создание обычного корабля - public void CreateButtonAction(){ - Random rnd=new Random(); - DrawingWarship warship=new DrawingWarship(rnd.nextInt(100, 300), rnd.nextInt(1000, 2000), - new Color(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256)), rnd.nextInt(3)); - SetData(warship); - } - //Создание модифицированного корабля - public void CreateModifButtonAction(){ - Random rnd = new Random(); - DrawingWarship warship = new DrawingAircraftCarrier(rnd.nextInt(100, 300), rnd.nextInt(1000, 2000), - new Color(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256)), - new Color(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256)), - rnd.nextBoolean(), rnd.nextBoolean(), rnd.nextBoolean()); - SetData(warship); - } - - public void DirectionButtonAction(Direction side){ - if(_abstractMap != null){ - bufferedImage = _abstractMap.MoveObject(side); - } - } - - public void ComboBoxSelectorMapAction(String name){ - switch (name){ - case "Простая карта": - _abstractMap = new SimpleMap(); - break; - case "Вторая карта": - _abstractMap = new LineMap(); - break; - } - } - - public void DrawMap(Graphics g){ - g.drawImage(bufferedImage,0,0,null); - } -} diff --git a/src/DrawingWarship.java b/src/DrawingWarship.java index 23db1e3..b54df4c 100644 --- a/src/DrawingWarship.java +++ b/src/DrawingWarship.java @@ -31,6 +31,11 @@ public class DrawingWarship { _warshipHeight = warshipHeight; } + public DrawingWarship(EntityWarship warship,IDrawingObjectBlock block){ + Warship = warship; + Blocks = block; + } + public int BlockRandom(){ Random rnd = new Random(); int count = rnd.nextInt(0,3); diff --git a/src/FormMap.form b/src/FormMap.form deleted file mode 100644 index 5e59229..0000000 --- a/src/FormMap.form +++ /dev/null @@ -1,137 +0,0 @@ - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/src/FormMap.java b/src/FormMap.java deleted file mode 100644 index c63e07e..0000000 --- a/src/FormMap.java +++ /dev/null @@ -1,84 +0,0 @@ -import javax.swing.*; -import java.awt.*; -import java.util.Objects; - -public class FormMap extends JFrame{ - DrawingMap map = new DrawingMap(this); - private JPanel mainPanel; - private JToolBar toolBar; - public JLabel toolBarLabelSpeed; - public JLabel toolBarLabelWieght; - public JLabel toolBarLabelColor; - private JButton buttonCreate; - private JButton buttonCreateModif; - private JButton buttonRight; - private JButton buttonUp; - private JButton buttonDown; - private JButton buttonLeft; - private JComboBox ComboBoxSelectorMap; - private JPanel drawPanel; - - public FormMap(){ - InitializeComponent(); - } - - private void InitializeComponent() { - setContentPane(mainPanel); - setTitle("Warship"); - setSize(900, 700); - setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); - setVisible(true); - - Icon iconUp = new ImageIcon("src\\Images\\ArrowUp.jpg"); - buttonUp.setIcon(iconUp); - Icon iconDown = new ImageIcon("src\\Images\\ArrowDown.jpg"); - buttonDown.setIcon(iconDown); - Icon iconLeft = new ImageIcon("src\\Images\\ArrowLeft.jpg"); - buttonLeft.setIcon(iconLeft); - Icon iconRight = new ImageIcon("src\\Images\\ArrowRight.jpg"); - buttonRight.setIcon(iconRight); - - buttonCreate.addActionListener(e -> { - map.CreateButtonAction(); - ReDraw(); - }); - - buttonCreateModif.addActionListener(e -> { - map.CreateModifButtonAction(); - ReDraw(); - }); - - buttonUp.addActionListener(e -> { - map.DirectionButtonAction(Direction.Up); - ReDraw(); - }); - - buttonLeft.addActionListener(e -> { - map.DirectionButtonAction(Direction.Left); - ReDraw(); - }); - - buttonRight.addActionListener(e -> { - map.DirectionButtonAction(Direction.Right); - ReDraw(); - }); - - buttonDown.addActionListener(e -> { - map.DirectionButtonAction(Direction.Down); - ReDraw(); - }); - - ComboBoxSelectorMap.addActionListener(e -> { - map.ComboBoxSelectorMapAction(Objects.requireNonNull(ComboBoxSelectorMap.getSelectedItem()).toString()); - ReDraw(); - }); - } - - private void ReDraw() - { - Graphics2D graphics = (Graphics2D) drawPanel.getGraphics(); - graphics.clearRect(0, 0, drawPanel.getWidth(), drawPanel.getHeight()); - drawPanel.paintComponents(graphics); - map.DrawMap(graphics); - } -} diff --git a/src/FormMapWithSetWarships.form b/src/FormMapWithSetWarships.form index d85ed02..26b6e7e 100644 --- a/src/FormMapWithSetWarships.form +++ b/src/FormMapWithSetWarships.form @@ -43,8 +43,8 @@ - - + + diff --git a/src/FormMapWithSetWarships.java b/src/FormMapWithSetWarships.java index 5b08851..f5ca3d8 100644 --- a/src/FormMapWithSetWarships.java +++ b/src/FormMapWithSetWarships.java @@ -2,8 +2,6 @@ import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; public class FormMapWithSetWarships extends JFrame{ private JPanel mainPanel; @@ -24,8 +22,15 @@ public class FormMapWithSetWarships extends JFrame{ public FormMapWithSetWarships(){ InitializeComponent(); + } - + @Override + public void paint(Graphics g) { + super.paint(g); + if (bufferedImage != null) { + PictureBox.paintComponents(bufferedImage.getGraphics()); + PictureBox.getGraphics().drawImage(bufferedImage, 0, 0, null); + } } public void InitializeComponent(){ @@ -48,7 +53,7 @@ public class FormMapWithSetWarships extends JFrame{ @Override public void actionPerformed(ActionEvent e) { AbstractMap map = null; - switch ((String) СomboBoxSelectorMap.getSelectedItem()){ + switch (СomboBoxSelectorMap.getSelectedItem().toString()){ case "Простая карта": map = new SimpleMap(); break; @@ -67,87 +72,103 @@ public class FormMapWithSetWarships extends JFrame{ } }); - ButtonAddWarship.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - if(_mapWarshipsCollectionGeneric == null){ - return; - } - FormWarship form = new FormWarship(); - form.setSize(1200,700); - form.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); - form.setVisible(true); - form.addWindowListener(new WindowAdapter() { - @Override - public void windowDeactivated(WindowEvent e) { - DrawingObjectWarship warship = new DrawingObjectWarship(form.getSelectedCar()); - if (_mapWarshipsCollectionGeneric.add(warship) > 0) - { - if (form.DialogResult) - JOptionPane.showMessageDialog(null, "Объект добавлен"); - bufferedImage = _mapWarshipsCollectionGeneric.ShowSet(); - repaint(); - } - else - { - JOptionPane.showMessageDialog(null, "Не удалось добавить объект"); - } - } - }); + ButtonAddWarship.addActionListener(e -> { + if(_mapWarshipsCollectionGeneric == null){ + System.out.println("null"); + return; } - }); + FormWarshipCreator warshipCreator = new FormWarshipCreator(); + warshipCreator.setSize(1200,700); + warshipCreator.setModalityType(Dialog.ModalityType.APPLICATION_MODAL); + warshipCreator.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); + warshipCreator.setVisible(true); + if (warshipCreator.getSelectedWarship() != null) { + DrawingObjectWarship warship = new DrawingObjectWarship(warshipCreator.getSelectedWarship()); - ButtonRemoveWarship.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - String text = TextBoxPosition.getText(); - if (text == null || _mapWarshipsCollectionGeneric == null || text.isEmpty()) - { - return; - } - int result = JOptionPane.showConfirmDialog( - null, - "Удалить объект?", - "Удаление", - JOptionPane.YES_NO_CANCEL_OPTION); - if (result == JOptionPane.NO_OPTION) - { - return; - } - int pos = Integer.parseInt(text); - if (_mapWarshipsCollectionGeneric.remove(pos) != null) - { - JOptionPane.showMessageDialog(null,"Объект удален","Успех",JOptionPane.INFORMATION_MESSAGE); + if (_mapWarshipsCollectionGeneric.add(warship) >= 0) { + JOptionPane.showMessageDialog(this, + "Объект добавлен", "Успех", JOptionPane.INFORMATION_MESSAGE); bufferedImage = _mapWarshipsCollectionGeneric.ShowSet(); repaint(); - } - else - { - JOptionPane.showMessageDialog(null,"Не удалось удалить объект","Ошибка",JOptionPane.INFORMATION_MESSAGE); + } else { + JOptionPane.showMessageDialog(this, + "Не удалось добавить объект", "Ошибка",JOptionPane.INFORMATION_MESSAGE); } } }); - ButtonShowStorage.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - if(_mapWarshipsCollectionGeneric == null) - { - return; - } + ButtonRemoveWarship.addActionListener(e -> { + String text = TextBoxPosition.getText(); + if (text == null || _mapWarshipsCollectionGeneric == null || text.isEmpty()) + { + return; + } + int result = JOptionPane.showConfirmDialog( + null, + "Удалить объект?", + "Удаление", + JOptionPane.YES_NO_CANCEL_OPTION); + if (result == JOptionPane.NO_OPTION) + { + return; + } + int pos = Integer.parseInt(text); + if (_mapWarshipsCollectionGeneric.remove(pos) != null) + { + JOptionPane.showMessageDialog(this, + "Объект удален","Успех",JOptionPane.INFORMATION_MESSAGE); bufferedImage = _mapWarshipsCollectionGeneric.ShowSet(); repaint(); } + else + { + JOptionPane.showMessageDialog(this, + "Не удалось удалить объект","Ошибка",JOptionPane.INFORMATION_MESSAGE); + } + }); + + ButtonShowStorage.addActionListener(e -> { + if(_mapWarshipsCollectionGeneric == null) + { + return; + } + bufferedImage = _mapWarshipsCollectionGeneric.ShowSet(); + repaint(); + }); + + ButtonShowOnMap.addActionListener(e -> { + if (_mapWarshipsCollectionGeneric == null) + { + return; + } + bufferedImage = _mapWarshipsCollectionGeneric.ShowOnMap(); + repaint(); + }); + + ButtonUp.addActionListener(e -> { + if (_mapWarshipsCollectionGeneric != null) { + bufferedImage = _mapWarshipsCollectionGeneric.MoveObject(Direction.Up); + repaint(); + } }); - ButtonShowOnMap.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - if (_mapWarshipsCollectionGeneric == null) - { - return; - } - bufferedImage = _mapWarshipsCollectionGeneric.ShowOnMap(); + ButtonDown.addActionListener(e -> { + if (_mapWarshipsCollectionGeneric != null) { + bufferedImage = _mapWarshipsCollectionGeneric.MoveObject(Direction.Down); + repaint(); + } + }); + + ButtonRight.addActionListener(e -> { + if (_mapWarshipsCollectionGeneric != null) { + bufferedImage = _mapWarshipsCollectionGeneric.MoveObject(Direction.Right); + repaint(); + } + }); + + ButtonLeft.addActionListener(e -> { + if (_mapWarshipsCollectionGeneric != null) { + bufferedImage = _mapWarshipsCollectionGeneric.MoveObject(Direction.Left); repaint(); } }); diff --git a/src/FormWarship.java b/src/FormWarship.java index c690411..cc451ec 100644 --- a/src/FormWarship.java +++ b/src/FormWarship.java @@ -1,7 +1,5 @@ import javax.swing.*; import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import java.util.Random; @@ -69,71 +67,50 @@ public class FormWarship extends JFrame { buttonRight.setIcon(iconRight); //кнопка добавления объекта - buttonCreate.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - Random rnd = new Random(); - _warship = new DrawingWarship(rnd.nextInt(100, 300), rnd.nextInt(1000, 2000), - new Color(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256)), rnd.nextInt(3)); - SetData(); - Draw(); - } + buttonCreate.addActionListener(e -> { + Random rnd = new Random(); + _warship = new DrawingWarship(rnd.nextInt(100, 300), rnd.nextInt(1000, 2000), + new Color(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256)), rnd.nextInt(3)); + SetData(); + Draw(); }); //добавление модифицированного объекта - buttonCreateModif.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - Random rnd = new Random(); - _warship = new DrawingAircraftCarrier(rnd.nextInt(100, 300), rnd.nextInt(1000, 2000), - new Color(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256)), - new Color(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256)), - rnd.nextBoolean(), rnd.nextBoolean(), rnd.nextBoolean()); - SetData(); - Draw(); + buttonCreateModif.addActionListener(e -> { + Random rnd = new Random(); + _warship = new DrawingAircraftCarrier(rnd.nextInt(100, 300), rnd.nextInt(1000, 2000), + new Color(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256)), + new Color(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256)), + rnd.nextBoolean(), rnd.nextBoolean(), rnd.nextBoolean()); + SetData(); + Draw(); + }); + + buttonSelect.addActionListener(e -> { + if(_warship != null){ + selectedWarship =_warship; + DialogResult = true; } }); - buttonSelect.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - if(_warship != null){ - selectedWarship =_warship; - DialogResult = true; - } - } + buttonLeft.addActionListener(e -> { + if (_warship != null) _warship.MoveTransport(Direction.Left); + Draw(); }); - buttonLeft.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - if (_warship != null) _warship.MoveTransport(Direction.Left); - Draw(); - } + buttonRight.addActionListener(e -> { + if (_warship != null) _warship.MoveTransport(Direction.Right); + Draw(); }); - buttonRight.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - if (_warship != null) _warship.MoveTransport(Direction.Right); - Draw(); - } + buttonUp.addActionListener(e -> { + if (_warship != null) _warship.MoveTransport(Direction.Up); + Draw(); }); - buttonUp.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - if (_warship != null) _warship.MoveTransport(Direction.Up); - Draw(); - } - }); - - buttonDown.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - if (_warship != null) _warship.MoveTransport(Direction.Down); - Draw(); - } + buttonDown.addActionListener(e -> { + if (_warship != null) _warship.MoveTransport(Direction.Down); + Draw(); }); mainPanel.addComponentListener(new ComponentAdapter() { diff --git a/src/FormWarshipCreator.form b/src/FormWarshipCreator.form index be70362..aa52652 100644 --- a/src/FormWarshipCreator.form +++ b/src/FormWarshipCreator.form @@ -8,7 +8,7 @@ - + @@ -20,13 +20,13 @@ - + - + @@ -49,52 +49,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -129,7 +87,7 @@ - + @@ -163,7 +121,7 @@ - + @@ -190,16 +148,16 @@ - + - + - + @@ -224,8 +182,8 @@ - diff --git a/src/FormWarshipCreator.java b/src/FormWarshipCreator.java index 31f1f1b..f08b869 100644 --- a/src/FormWarshipCreator.java +++ b/src/FormWarshipCreator.java @@ -1,4 +1,6 @@ import javax.swing.*; +import java.awt.*; +import java.util.Random; public class FormWarshipCreator extends JDialog{ private JPanel PictureBox; @@ -7,8 +9,6 @@ public class FormWarshipCreator extends JDialog{ private JRadioButton AdvancedRadioButton; private JTextField WeightTextField; private JTextField SpeedTextField; - private JLabel SetWeightLabel; - private JLabel SetSpeedLabel; private JPanel CargoPanel; private JRadioButton TriangleFormRadioButton; private JRadioButton RoundFormRadioButton; @@ -22,9 +22,108 @@ public class FormWarshipCreator extends JDialog{ private JCheckBox MissileCheckBox; private JCheckBox AntennaCheckBox; private JCheckBox HelipadCheckBox; - BlockCount block=null; - IDrawingObjectBlock fblock=null; - private final CreaterGeneric createrGeneric=new CreaterGeneric<>(40,40); + BlockCount _block = null; + IDrawingObjectBlock objectBlock = null; + private final WarshipCreatorGeneric createrGeneric=new WarshipCreatorGeneric<>(40,40); private DrawingWarship _warship; private DrawingWarship selectedWarship; + + public FormWarshipCreator(){ + InitializeComponent(); + } + + @Override + public void paint(Graphics g) { + super.paint(g); + Graphics2D g2d = (Graphics2D) PictureBox.getGraphics(); + if (_warship != null) { + _warship.DrawTransport(g2d); + } + } + + public DrawingWarship getSelectedWarship() { + return selectedWarship; + } + + private void InitializeComponent(){ + setContentPane(PictureBox); + setTitle("Warship"); + setResizable(false); + setSize(900, 700); + + TwoRadioButton.addActionListener(e -> { + _block =BlockCount.TwoBlocks; + }); + FourRadioButton.addActionListener(e -> { + _block =BlockCount.FourBlocks; + }); + SixRadioButton.addActionListener(e -> { + _block =BlockCount.SixBlocks; + }); + + RectangleFormRadioButton.addActionListener(e -> { + if(_block ==null){ + return; + } + objectBlock =new DrawingBlocks(_block); + if(objectBlock ==null) + return; + objectBlock.SetBlockCount(_block.GetBlockCount()); + createrGeneric.AddBlock(objectBlock); + }); + + RoundFormRadioButton.addActionListener(e -> { + if(_block ==null){ + return; + } + objectBlock =new DrawingRoundBlocks(_block); + if(objectBlock ==null) + return; + objectBlock.SetBlockCount(_block.GetBlockCount()); + createrGeneric.AddBlock(objectBlock); + }); + + TriangleFormRadioButton.addActionListener(e -> { + if(_block ==null){ + return; + } + objectBlock =new DrawingRoundBlocks(_block); + if(objectBlock ==null) + return; + objectBlock.SetBlockCount(_block.GetBlockCount()); + createrGeneric.AddBlock(objectBlock); + }); + + BasicRadioButton.addActionListener(e -> { + Color color=JColorChooser.showDialog(this,"Выберите цвет корпуса корабля",Color.WHITE); + if(Integer.parseInt(SpeedTextField.getText())==0 || Integer.parseInt(WeightTextField.getText())==0 || color==null){ + return; + } + createrGeneric.AddWarship(new EntityWarship(Integer.parseInt(SpeedTextField.getText()),Integer.parseInt(WeightTextField.getText()),color)); + }); + + AdvancedRadioButton.addActionListener(e -> { + Color color1=JColorChooser.showDialog(this,"Выберите цвет корпуса корабля",Color.WHITE); + if(Integer.parseInt(SpeedTextField.getText())==0 || Integer.parseInt(WeightTextField.getText())==0 || color1==null){ + return; + } + Color color2=JColorChooser.showDialog(this,"Выберите цвет модификаций корабля",Color.WHITE); + if(color2==null){ + return; + } + createrGeneric.AddWarship(new EntityAircraftCarrier(Integer.parseInt(SpeedTextField.getText()),Integer.parseInt(WeightTextField.getText()), + color1,color2,HelipadCheckBox.isSelected(),AntennaCheckBox.isSelected(),MissileCheckBox.isSelected())); + }); + + ShowWarshipButton.addActionListener(e -> { + Random rand=new Random(); + _warship=createrGeneric.NewWarshipCreating(); + _warship.SetPosition(rand.nextInt(100),rand.nextInt(100),getWidth(),getHeight()); + repaint(); + }); + ChooseButton.addActionListener(e -> { + selectedWarship=_warship; + dispose(); + }); + } } diff --git a/src/Main.java b/src/Main.java index c97b9f2..17772ee 100644 --- a/src/Main.java +++ b/src/Main.java @@ -2,5 +2,4 @@ public class Main { public static void main(String[] args) { new FormMapWithSetWarships(); } - } diff --git a/src/WarshipCreatorGeneric.java b/src/WarshipCreatorGeneric.java index 8e79140..a4495ea 100644 --- a/src/WarshipCreatorGeneric.java +++ b/src/WarshipCreatorGeneric.java @@ -1,40 +1,39 @@ import java.util.Random; public class WarshipCreatorGeneric { - T[] Warships; - U[] Blocks; - int WarshipsCount = 0; - int BlocksCount = 0; + private final EntityWarship[] Warships; + private final IDrawingObjectBlock[] Blocks; + private int WarshipsCount = 0; + private int BlocksCount = 0; public WarshipCreatorGeneric(int warshipsCount, int blocksCount){ - Warships = (T[])new Object[warshipsCount]; - Blocks = (U[]) new Object[blocksCount]; - WarshipsCount = warshipsCount; - BlocksCount = blocksCount; + Warships = new EntityWarship[warshipsCount]; + Blocks = new IDrawingObjectBlock[blocksCount]; } public int AddWarship(T warship){ - if(WarshipsCount