clean code lab 5
This commit is contained in:
parent
00465b2d74
commit
2e31988a1b
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user