clean code lab 5

This commit is contained in:
ekallin 2023-12-04 17:38:58 +04:00
parent 00465b2d74
commit 2e31988a1b
2 changed files with 11 additions and 66 deletions

View File

@ -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);

View File

@ -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);