лаба 5

This commit is contained in:
Алексей Крюков 2023-12-24 00:22:04 +04:00
parent 4a6f1a14dd
commit f05a18487e
9 changed files with 570 additions and 8 deletions

View File

@ -16,6 +16,14 @@ public class DrawningExcavator extends DrawningTracktor {
setEntityTracktor(entityExcavator);
}
}
public DrawningExcavator(int speed, double weight, Color bodyColor, boolean bucket, boolean supports, Color bucketColor, Color supportsColor, int width, int height, int rollersCount, IDrawningRollers iDrawningRollers)
{
super(speed, weight, bodyColor, width, height, rollersCount, iDrawningRollers);
if (getEntityTracktor() != null)
{
setEntityTracktor(new EntityExcavator(speed, weight, bodyColor, bucketColor, supportsColor, bucket, supports));
}
}
@Override
public void DrawTransport(Graphics2D g){

View File

@ -17,6 +17,7 @@ public class DrawningRollers implements IDrawningRollers {
default -> rollersCount = RollersCount.Four;
}
}
public DrawningRollers(int count, Color colorRollers){
setRollersCount(count);
this.colorRollers = colorRollers;
@ -65,4 +66,46 @@ public class DrawningRollers implements IDrawningRollers {
g.fillOval((int)_startPosX + 13, (int)_startPosY + 68, 6, 6);
g.fillOval((int)_startPosX + 91, (int)_startPosY + 68, 6, 6);
}
private void drawFourRollers(Graphics2D g, Color color, int _startPosX, int _startPosY) {
Color penColor = Color.BLACK;
Color mainColor = colorRollers==null ? Color.LIGHT_GRAY : colorRollers;
// Крупные катки - всегда
g.setColor(mainColor);
g.fillOval((int)_startPosX + 5, (int)_startPosY + 60, 22, 22);
g.setColor(penColor);
g.drawOval((int)_startPosX + 5, (int)_startPosY + 60, 22, 22);
g.setColor(mainColor);
g.fillOval((int)_startPosX + 83, (int)_startPosY + 60, 22, 22);
g.setColor(penColor);
g.drawOval((int)_startPosX + 83, (int)_startPosY + 60, 22, 22);
// Малые катки - всегда
g.setColor(mainColor);
g.fillOval((int)_startPosX + 43, (int)_startPosY + 58, 6, 6);
g.setColor(penColor);
g.drawOval((int)_startPosX + 43, (int)_startPosY + 58, 6, 6);
g.setColor(mainColor);
g.fillOval((int)_startPosX + 61, (int)_startPosY + 58, 6, 6);
g.setColor(penColor);
g.drawOval((int)_startPosX + 61, (int)_startPosY + 58, 6, 6);
}
private void drawFiveRollers(Graphics2D g, Color color, int _startPosX, int _startPosY) {
Color penColor = Color.BLACK;
Color mainColor = colorRollers==null ? Color.LIGHT_GRAY : colorRollers;
drawFourRollers(g,color,_startPosX,_startPosY);
g.setColor(mainColor);
g.fillOval((int)_startPosX + 68, (int)_startPosY + 73, 10, 10);
g.setColor(penColor);
g.drawOval((int)_startPosX + 68, (int)_startPosY + 73, 10, 10);
}
private void drawSixRollers(Graphics2D g, Color color, int _startPosX, int _startPosY) {
Color penColor = Color.BLACK;
Color mainColor = colorRollers==null ? Color.LIGHT_GRAY : colorRollers;
drawFiveRollers(g,color,_startPosX,_startPosY);
g.setColor(mainColor);
g.fillOval((int)_startPosX + 33, (int)_startPosY + 73, 10, 10);
g.setColor(penColor);
g.drawOval((int)_startPosX + 33, (int)_startPosY + 73, 10, 10);
}
}

View File

@ -3,7 +3,7 @@ import java.util.Random;
// Класс, отвечающий за прорисовку и перемещение объекта-сущности
public class DrawningTracktor {
private EntityTracktor entityTracktor; // Класс-сущность
public EntityTracktor entityTracktor; // Класс-сущность
public EntityTracktor getEntityTracktor(){
return entityTracktor;
}
@ -15,8 +15,8 @@ public class DrawningTracktor {
}
protected int _startPosX; // Левая координата отрисовки трактора
protected int _startPosY; // Верхняя кооридната отрисовки трактора
private Integer _pictureWidth; // Ширина окна отрисовки
private Integer _pictureHeight; // Высота окна отрисовки
public Integer _pictureWidth; // Ширина окна отрисовки
public Integer _pictureHeight; // Высота окна отрисовки
protected int _tracktorWidth = 110; // Ширина отрисовки трактора
protected int _tracktorHeight = 87; // Высота отрисовки трактора
public int getPosX(){
@ -31,7 +31,7 @@ public class DrawningTracktor {
public int getHeight(){
return _tracktorHeight;
}
private IDrawningRollers drawningRollers;
public IDrawningRollers drawningRollers;
// Инициализация свойств
public DrawningTracktor(int speed, double weight, Color bodyColor,int width,int height, int countRollers)
@ -80,6 +80,16 @@ public class DrawningTracktor {
drawningRollers = iDrawningRollers;
drawningRollers.setRollersCount(rollersCount);
}
public DrawningTracktor(int speed, double weight, Color bodyColor, int width, int height, int rollersCount, IDrawningRollers iDrawningRollers){
if (height < _pictureHeight || width < _tracktorWidth) {
return;
}
_pictureWidth = width;
_pictureHeight = height;
entityTracktor = new EntityTracktor(speed, weight, bodyColor);
drawningRollers = iDrawningRollers;
drawningRollers.setRollersCount(rollersCount);
}
public boolean CanMove(Direction direction){
if(entityTracktor == null)
return false;

View File

@ -19,9 +19,15 @@ public class EntityExcavator extends EntityTracktor{
public Color getBucketColor(){
return BucketColor;
}
public void setBucketColor(Color color){
BucketColor = color;
}
public Color getSupportsColor(){
return SupportsColor;
}
public void setSupportsColor(Color color){
SupportsColor = color;
}
public boolean getBucket(){
return bucket;

View File

@ -14,6 +14,9 @@ public class EntityTracktor {
public Color getBodyColor(){
return BodyColor;
}
public void setBodyColor(Color color){
BodyColor = color;
}
public double getStep(){
return (double) Speed * 100 / Weight;
}

View File

@ -0,0 +1,15 @@
import javax.swing.*;
public class FrameTracktorConfig extends JFrame {
public PictureBoxTracktorConfig pictureBoxTracktorConfig;
public FrameTracktorConfig() {
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
pictureBoxTracktorConfig = new PictureBoxTracktorConfig();
add(pictureBoxTracktorConfig);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
}

View File

@ -94,17 +94,18 @@ public class PictureBoxCollection extends JPanel {
var obj = _storage.get(listStorage.getSelectedValue());
if (obj == null)
return;
FrameExcavator frameExcavator = new FrameExcavator(null);
frameExcavator.pictureBoxExcavator.buttonSelectTracktor.addActionListener(e1 -> {
if (obj.Add(frameExcavator.pictureBoxExcavator.drawingTracktor) != -1) {
FrameTracktorConfig frameTracktorConfig = new FrameTracktorConfig();
frameTracktorConfig.pictureBoxTracktorConfig.buttonAdd.addActionListener(e1 -> {
if (obj != null && obj.Add(frameTracktorConfig.pictureBoxTracktorConfig._tracktor)!=-1) {
JOptionPane.showMessageDialog(null, "Объект добавлен", "Информация", JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Не удалось добавить объект", "Информация", JOptionPane.INFORMATION_MESSAGE);
}
frameExcavator.dispose();
frameTracktorConfig.dispose();
repaint();
}
);
frameTracktorConfig.pictureBoxTracktorConfig.buttonCancel.addActionListener(e1 -> frameTracktorConfig.dispose());
});
add(buttonAddTracktor);

View File

@ -0,0 +1,474 @@
import javax.swing.*;
import javax.swing.border.Border;
import java.awt.*;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.IOException;
import java.util.Random;
import java.awt.event.*;
public class PictureBoxTracktorConfig extends JPanel {
private static class LabelTransferHandler extends TransferHandler {
@Override
public int getSourceActions(JComponent c) {
return TransferHandler.COPY;
}
@Override
protected Transferable createTransferable(JComponent c) {
return new StringSelection(((JLabel)c).getText());
}
}
private static class ColorTransferable implements Transferable {
private Color color;
private static final DataFlavor colorDataFlavor = new DataFlavor(Color.class, "Color");
public ColorTransferable(Color color) {
this.color = color;
}
@Override
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[]{colorDataFlavor};
}
@Override
public boolean isDataFlavorSupported(DataFlavor flavor) {
return colorDataFlavor.equals(flavor);
}
@Override
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
if (isDataFlavorSupported(flavor)) {
return color;
} else {
throw new UnsupportedFlavorException(flavor);
}
}
}
private class PanelTransferHandler extends TransferHandler {
@Override
public int getSourceActions(JComponent c) {
return TransferHandler.COPY;
}
@Override
protected Transferable createTransferable(JComponent c) {
return new ColorTransferable(((JPanel) c).getBackground());
}
}
private class LabelMouseAdapter extends MouseAdapter{
@Override
public void mousePressed(MouseEvent e) {
((JLabel)e.getComponent()).getTransferHandler().exportAsDrag(((JLabel)e.getComponent()), e, TransferHandler.COPY);
}
}
private class PanelMouseAdapter extends MouseAdapter{
@Override
public void mousePressed(MouseEvent e) {
((JPanel)e.getComponent()).getTransferHandler().exportAsDrag(((JPanel)e.getComponent()), e, TransferHandler.COPY);
}
}
private class RollersTransferable implements Transferable {
private IDrawningRollers rollersDrawning;
private static final DataFlavor rollersDrawningDataFlavor = new DataFlavor(IDrawningRollers.class, "Roller Drawing");
public RollersTransferable(IDrawningRollers rollersDrawning) {
this.rollersDrawning = rollersDrawning;
}
@Override
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[]{rollersDrawningDataFlavor};
}
@Override
public boolean isDataFlavorSupported(DataFlavor flavor) {
return flavor.equals(rollersDrawningDataFlavor);
}
@Override
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
if (isDataFlavorSupported(flavor)) {
return rollersDrawning;
} else {
throw new UnsupportedFlavorException(flavor);
}
}
}
private class RollerPanel extends JPanel{
public IDrawningRollers rollersDrawning;
public RollerPanel(IDrawningRollers _rollersDrawning){
rollersDrawning = _rollersDrawning;
rollersDrawning.setRollersCount(4);
this.addMouseListener(
new MouseAdapter(){
@Override
public void mousePressed(MouseEvent e) {
((RollerPanel)e.getComponent()).getTransferHandler().exportAsDrag(((RollerPanel)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 RollersTransferable(((RollerPanel)c).rollersDrawning);
}
}
);
}
public void paintComponent (Graphics g){
super.paintComponents (g) ;
Graphics2D g2d = (Graphics2D)g;
rollersDrawning.DrawRollers(g2d,0, -50);
}
}
private class TracktorPreview extends JPanel{
@Override
public void paintComponent (Graphics g) {
if (_tracktor == null) {
return;
}
_tracktor.SetPosition(20, 20);
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
_tracktor.DrawTransport(g2d);
}
}
DrawningTracktor _tracktor = null;
JButton buttonAdd, buttonCancel;
JLabel labelParameters, labelColors, labelSpeed, labelWeight, labelRollerAmount, labelSimpleObject, labelModifiedObject, labelBodyColor, labelBucketColor, labelSupportsColor, labelRollers, labelRollerPreview;
JCheckBox checkBoxBucket, checkBoxSupports;
SpinnerModel spinnerModelSpeed, spinnerModelWeight, spinnerModelRollerAmount;
JSpinner numericUpDownSpeed, numericUpDownWeight, numericUpDownRollerAmount;
JPanel panelRed, panelGreen, panelBlue, panelYellow, panelWhite, panelGray, panelBlack, panelMagenta;
TracktorPreview TracktorPreview;
public PictureBoxTracktorConfig() {
Random random = new Random();
setLayout(null);
setBounds(0, 0, 800, 300);
buttonAdd = new JButton("Добавить");
buttonAdd.setFocusable(false);
buttonAdd.setBounds(550, 260, 100, 30);
add(buttonAdd);
buttonCancel = new JButton("Отмена");
buttonCancel.setFocusable(false);
buttonCancel.setBounds(670, 260, 100, 30);
add(buttonCancel);
labelParameters = new JLabel("Параметры");
labelParameters.setBounds(10, 10, 100, 20);
add(labelParameters);
labelSpeed = new JLabel("Скорость:");
labelSpeed.setBounds(10, 50, 100, 20);
add(labelSpeed);
labelWeight = new JLabel("Вес:");
labelWeight.setBounds(10, 80, 100, 20);
add(labelWeight);
labelRollerAmount = new JLabel("Кол-во колес:");
labelRollerAmount.setBounds(10, 110, 100, 20);
add(labelRollerAmount);
checkBoxBucket = new JCheckBox("Признак наличия ковша");
checkBoxBucket.setBounds(10, 200, 200, 20);
checkBoxBucket.setFocusable(false);
add(checkBoxBucket);
checkBoxSupports = new JCheckBox("Признак наличия опор");
checkBoxSupports.setBounds(10, 230, 200, 20);
checkBoxSupports.setFocusable(false);
add(checkBoxSupports);
spinnerModelSpeed = new SpinnerNumberModel(100, 100, 1000, 1);
numericUpDownSpeed = new JSpinner(spinnerModelSpeed);
numericUpDownSpeed.setBounds(100, 50, 50, 20);
numericUpDownSpeed.setFocusable(false);
add(numericUpDownSpeed);
spinnerModelWeight = new SpinnerNumberModel(100, 100, 1000, 1);
numericUpDownWeight = new JSpinner(spinnerModelWeight);
numericUpDownWeight.setBounds(100, 80, 50, 20);
numericUpDownWeight.setFocusable(false);
add(numericUpDownWeight);
spinnerModelRollerAmount = new SpinnerNumberModel(4, 4, 6, 1);
numericUpDownRollerAmount = new JSpinner(spinnerModelRollerAmount);
numericUpDownRollerAmount.setBounds(100, 110, 50, 20);
numericUpDownRollerAmount.setFocusable(false);
add(numericUpDownRollerAmount);
labelColors = new JLabel("Цвета");
labelColors.setBounds(250, 20, 100, 20);
add(labelColors);
Border border = BorderFactory.createLineBorder(Color.BLACK);
labelSimpleObject = new JLabel("Простой");
labelSimpleObject.setBounds(250, 240, 100, 50);
labelSimpleObject.setHorizontalAlignment(SwingConstants.CENTER);
labelSimpleObject.setBorder(border);
labelSimpleObject.setTransferHandler(new LabelTransferHandler());
labelSimpleObject.addMouseListener(new LabelMouseAdapter());
add(labelSimpleObject);
labelModifiedObject = new JLabel("Продвинутый");
labelModifiedObject.setBounds(370, 240, 100, 50);
labelModifiedObject.setHorizontalAlignment(SwingConstants.CENTER);
labelModifiedObject.setBorder(border);
labelModifiedObject.setTransferHandler(new LabelTransferHandler());
labelModifiedObject.addMouseListener(new LabelMouseAdapter());
add(labelModifiedObject);
labelBodyColor = new JLabel("Цвет");
labelBodyColor.setBounds(530, 20, 80, 40);
labelBodyColor.setHorizontalAlignment(SwingConstants.CENTER);
labelBodyColor.setBorder(border);
labelBodyColor.setTransferHandler(
new TransferHandler(){
@Override
public boolean canImport(TransferHandler.TransferSupport support) {
return support.isDataFlavorSupported(ColorTransferable.colorDataFlavor);
}
@Override
public boolean importData(TransferHandler.TransferSupport support) {
if (canImport(support)) {
try {
Color color = (Color) support.getTransferable().getTransferData(ColorTransferable.colorDataFlavor);
if (_tracktor == null)
return false;
_tracktor.entityTracktor.setBodyColor(color);
TracktorPreview.repaint();
return true;
} catch (UnsupportedFlavorException | IOException e) {
e.printStackTrace();
}
}
return false;
}
}
);
add(labelBodyColor);
labelBucketColor = new JLabel("Цвет кузова");
labelBucketColor.setBounds(620, 20, 80, 40);
labelBucketColor.setHorizontalAlignment(SwingConstants.CENTER);
labelBucketColor.setBorder(border);
labelBucketColor.setTransferHandler(
new TransferHandler(){
@Override
public boolean canImport(TransferHandler.TransferSupport support) {
return support.isDataFlavorSupported(ColorTransferable.colorDataFlavor);
}
@Override
public boolean importData(TransferHandler.TransferSupport support) {
if (canImport(support)) {
try {
Color color = (Color) support.getTransferable().getTransferData(ColorTransferable.colorDataFlavor);
if (_tracktor == null)
return false;
if (!(_tracktor instanceof DrawningExcavator))
return false;
((EntityExcavator)_tracktor.entityTracktor).setBucketColor(color);
TracktorPreview.repaint();
return true;
} catch (UnsupportedFlavorException | IOException e) {
e.printStackTrace();
}
}
return false;
}
}
);
add(labelBucketColor);
labelSupportsColor = new JLabel("Цвет опор");
labelSupportsColor.setBounds(710, 20, 80, 40);
labelSupportsColor.setHorizontalAlignment(SwingConstants.CENTER);
labelSupportsColor.setBorder(border);
labelSupportsColor.setTransferHandler(
new TransferHandler(){
@Override
public boolean canImport(TransferHandler.TransferSupport support) {
return support.isDataFlavorSupported(ColorTransferable.colorDataFlavor);
}
@Override
public boolean importData(TransferHandler.TransferSupport support) {
if (canImport(support)) {
try {
Color color = (Color) support.getTransferable().getTransferData(ColorTransferable.colorDataFlavor);
if (_tracktor == null)
return false;
if (!(_tracktor instanceof DrawningExcavator))
return false;
((EntityExcavator)_tracktor.entityTracktor).setSupportsColor(color);
TracktorPreview.repaint();
return true;
} catch (UnsupportedFlavorException | IOException e) {
e.printStackTrace();
}
}
return false;
}
}
);
add(labelSupportsColor);
labelRollerPreview = new JLabel("Колесо");
labelRollerPreview.setBounds(530, 70, 80, 30);
labelRollerPreview.setHorizontalAlignment(SwingConstants.CENTER);
labelRollerPreview.setBorder(border);
add(labelRollerPreview);
labelRollerPreview.setTransferHandler(
new TransferHandler(){
@Override
public boolean canImport(TransferHandler.TransferSupport support) {
return support.isDataFlavorSupported(RollersTransferable.rollersDrawningDataFlavor);
}
@Override
public boolean importData(TransferHandler.TransferSupport support) {
if (canImport(support)) {
try {
IDrawningRollers IDrawningRollers = (IDrawningRollers) support.getTransferable().getTransferData(RollersTransferable.rollersDrawningDataFlavor);
if (_tracktor == null)
return false;
_tracktor.drawningRollers = IDrawningRollers;
_tracktor.drawningRollers.setRollersCount((int)numericUpDownRollerAmount.getValue());
TracktorPreview.repaint();
} catch (UnsupportedFlavorException | IOException e) {
e.printStackTrace();
}
}
return false;
}
}
);
panelRed = new JPanel();
panelRed.setBounds(250, 50, 40, 40);
panelRed.setBackground(Color.RED);
panelRed.setTransferHandler(new PanelTransferHandler());
panelRed.addMouseListener(new PanelMouseAdapter());
add(panelRed);
panelGreen = new JPanel();
panelGreen.setBounds(300, 50, 40, 40);
panelGreen.setBackground(Color.GREEN);
panelGreen.setTransferHandler(new PanelTransferHandler());
panelGreen.addMouseListener(new PanelMouseAdapter());
add(panelGreen);
panelBlue = new JPanel();
panelBlue.setBounds(350, 50, 40, 40);
panelBlue.setBackground(Color.BLUE);
panelBlue.setTransferHandler(new PanelTransferHandler());
panelBlue.addMouseListener(new PanelMouseAdapter());
add(panelBlue);
panelYellow = new JPanel();
panelYellow.setBounds(400, 50, 40, 40);
panelYellow.setBackground(Color.YELLOW);
panelYellow.setTransferHandler(new PanelTransferHandler());
panelYellow.addMouseListener(new PanelMouseAdapter());
add(panelYellow);
panelWhite = new JPanel();
panelWhite.setBounds(250, 100, 40, 40);
panelWhite.setBackground(Color.WHITE);
panelWhite.setTransferHandler(new PanelTransferHandler());
panelWhite.addMouseListener(new PanelMouseAdapter());
add(panelWhite);
panelGray = new JPanel();
panelGray.setBounds(300, 100, 40, 40);
panelGray.setBackground(Color.GRAY);
panelGray.setTransferHandler(new PanelTransferHandler());
panelGray.addMouseListener(new PanelMouseAdapter());
add(panelGray);
panelBlack = new JPanel();
panelBlack.setBounds(350, 100, 40, 40);
panelBlack.setBackground(Color.black);
panelBlack.setTransferHandler(new PanelTransferHandler());
panelBlack.addMouseListener(new PanelMouseAdapter());
add(panelBlack);
panelMagenta = new JPanel();
panelMagenta.setBounds(400, 100, 40, 40);
panelMagenta.setBackground(Color.MAGENTA);
panelMagenta.setTransferHandler(new PanelTransferHandler());
panelMagenta.addMouseListener(new PanelMouseAdapter());
add(panelMagenta);
labelRollers = new JLabel("Колеса");
labelRollers.setBounds(250, 150, 100, 20);
add(labelRollers);
RollerPanel RollerPanelDefault = new RollerPanel(new DrawningRollers((int)numericUpDownRollerAmount.getValue(),Color.RED));
RollerPanelDefault.setBounds(250, 180, 40, 40);
add(RollerPanelDefault);
RollerPanel RollerPanelCircles = new RollerPanel(new DrawningCrossRollers((int)numericUpDownRollerAmount.getValue(),Color.RED));
RollerPanelCircles.setBounds(300, 180, 40, 40);
add(RollerPanelCircles);
RollerPanel RollerPanelStar = new RollerPanel(new DrawningSquaredRollers((int)numericUpDownRollerAmount.getValue(),Color.RED));
RollerPanelStar.setBounds(350, 180, 40, 40);
add(RollerPanelStar);
TracktorPreview = new TracktorPreview();
TracktorPreview.setBounds(530, 110, 260, 140);
TracktorPreview.setBorder(border);
add(TracktorPreview);
TracktorPreview.setTransferHandler(
new TransferHandler(){
@Override
public boolean canImport(TransferHandler.TransferSupport support) {
return support.isDataFlavorSupported(DataFlavor.stringFlavor);
}
@Override
public boolean importData(TransferHandler.TransferSupport support) {
if (canImport(support)) {
try {
String data = (String) support.getTransferable().getTransferData(DataFlavor.stringFlavor);
switch (data) {
case "Простой":
_tracktor = new DrawningTracktor((int)numericUpDownSpeed.getValue(), (int)numericUpDownWeight.getValue(), Color.WHITE, TracktorPreview.getWidth(), TracktorPreview.getHeight(), (int)numericUpDownRollerAmount.getValue(), new DrawningRollers((int)numericUpDownRollerAmount.getValue(),Color.RED));
break;
case "Продвинутый":
_tracktor = new DrawningExcavator((int)numericUpDownSpeed.getValue(), (int)numericUpDownWeight.getValue(), Color.WHITE, checkBoxSupports.isSelected(), checkBoxBucket.isSelected(), Color.BLACK, Color.GRAY, TracktorPreview.getWidth(), TracktorPreview.getHeight(), (int)numericUpDownRollerAmount.getValue(), new DrawningRollers((int)numericUpDownRollerAmount.getValue(),Color.RED));
break;
}
TracktorPreview.repaint();
return true;
} catch (UnsupportedFlavorException | IOException e) {
e.printStackTrace();
}
}
return false;
}
}
);
setPreferredSize(new Dimension(800, 300));
}
}

View File

@ -49,6 +49,8 @@ public class TracktorsGenericCollection<T extends DrawningTracktor, U extends IM
int index = 0;
for(T tracktor: _collection.GetTracktors(100)){
if(tracktor != null){
tracktor._pictureWidth = _pictureWidth;
tracktor._pictureHeight = _pictureHeight;
tracktor.SetPosition(index %(_pictureWidth/ _placeSizeWidth)*_placeSizeWidth,index/(_pictureWidth/_placeSizeWidth) * _placeSizeHeight);
tracktor.DrawTransport((Graphics2D) g);
}