diff --git a/ProjectElectricLocomotive/FormLocomotiveCollections.java b/ProjectElectricLocomotive/FormLocomotiveCollections.java index 7cee3a7..96d1640 100644 --- a/ProjectElectricLocomotive/FormLocomotiveCollections.java +++ b/ProjectElectricLocomotive/FormLocomotiveCollections.java @@ -35,7 +35,7 @@ public class FormLocomotiveCollections { public FormLocomotiveCollections() { formElectricLocomotive = new FormElectricLocomotive(); formLocomotiveConfig = new FormLocomotiveConfig(); - _storage = new LocomotivesGenericStorage(pictureBoxCollections.getWidth(), pictureBoxCollections.getHeight()); + _storage = new LocomotivesGenericStorage(400,300); _stackRemoveObjects = new Stack<>(); listBoxStorage.addListSelectionListener(this::listBoxObjectsSelectedIndexChanged); diff --git a/ProjectElectricLocomotive/FormLocomotiveConfig.java b/ProjectElectricLocomotive/FormLocomotiveConfig.java index b6b8fdb..996faa6 100644 --- a/ProjectElectricLocomotive/FormLocomotiveConfig.java +++ b/ProjectElectricLocomotive/FormLocomotiveConfig.java @@ -6,8 +6,6 @@ import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.StringSelection; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.border.Border; @@ -47,8 +45,6 @@ public class FormLocomotiveConfig{ private JLabel labelCountWheels; private JSpinner numericUpDownWheels; public Canvas canvas; - FrameLocomotiveConfig frameLocomotiveConfig; - public JPanel getPictureBoxObject(){ return MainPanel; @@ -67,7 +63,8 @@ public class FormLocomotiveConfig{ super.repaint(); } } - //класс для перетаскивания типа объекта + + // класс для перетаскивания информации из labe'лов private class LabelTransferHandler extends TransferHandler { @Override public int getSourceActions(JComponent c) { @@ -79,7 +76,8 @@ public class FormLocomotiveConfig{ return new StringSelection(((JLabel)c).getText()); } } - //что бы цвет можно было таскать + + //для перетаскивания цветов private class ColorTransferable implements Transferable { private Color color; private static final DataFlavor colorDataFlavor = new DataFlavor(Color.class, "Color"); @@ -107,6 +105,8 @@ public class FormLocomotiveConfig{ } } } + + //для перетаскивания цвета private class PanelTransferHandler extends TransferHandler { @Override @@ -119,13 +119,16 @@ public class FormLocomotiveConfig{ return new ColorTransferable(((JPanel)c).getBackground()); } } - //для обработки нажатий + + //для обработки "схватывания" label'ов private class LabelMouseAdapter extends MouseAdapter { @Override public void mousePressed(MouseEvent e) { ((JLabel)e.getComponent()).getTransferHandler().exportAsDrag(((JLabel)e.getComponent()), e, TransferHandler.COPY); } } + + //для обработки "схватывания" panel'ей private class PanelMouseAdapter extends MouseAdapter{ @Override public void mousePressed(MouseEvent e) { @@ -133,64 +136,6 @@ public class FormLocomotiveConfig{ } } - //что бы wheel'ы можно было тaскать - private class WheelTransferable implements Transferable { - private IDrawingWheels wheelDrawing; - private static final DataFlavor wheelDrawingDataFlavor = new DataFlavor(IDrawingWheels.class, "Wheel Drawing"); - - public WheelTransferable(IDrawingWheels wheelDrawing) { - this.wheelDrawing = wheelDrawing; - } - - @Override - public DataFlavor[] getTransferDataFlavors() { - return new DataFlavor[]{wheelDrawingDataFlavor}; - } - - @Override - public boolean isDataFlavorSupported(DataFlavor flavor) { - return flavor.equals(wheelDrawingDataFlavor); - } - - @Override - public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException { - if (isDataFlavorSupported(flavor)) { - return wheelDrawing; - } else { - throw new UnsupportedFlavorException(flavor); - } - } - } - //для отрисовки wheel'ов, которые можно взять и потащить - private class ComponentWheel extends JComponent { - public IDrawingWheels wheelDrawing; - - public ComponentWheel(IDrawingWheels _wheelDrawing) { - wheelDrawing = _wheelDrawing; - this.addMouseListener( - new MouseAdapter() { - @Override - public void mousePressed(MouseEvent e) { - ((ComponentWheel) e.getComponent()).getTransferHandler().exportAsDrag(((ComponentWheel) e.getComponent()), e, TransferHandler.COPY); - } - } - ); - this.setTransferHandler( - new TransferHandler() { - @Override - public int getSourceActions(JComponent c) { - return TransferHandler.COPY; - } - - @Override - protected Transferable createTransferable(JComponent c) { - return new WheelTransferable(((ComponentWheel) c).wheelDrawing); - } - } - ); - } - } - public FormLocomotiveConfig() { Border br = BorderFactory.createLineBorder(Color.BLACK);