SomethingStrange

This commit is contained in:
Sergey Kozyrev 2023-11-28 18:10:22 +04:00
parent 7181ff36c0
commit 88e0ccbe5e
10 changed files with 77 additions and 18 deletions

View File

@ -23,7 +23,7 @@ public class BaseTanker {
{ {
return BodyColor; return BodyColor;
} }
private void setBodyColor(Color bodyColor) public void setBodyColor(Color bodyColor)
{ {
BodyColor = bodyColor; BodyColor = bodyColor;
} }

View File

@ -86,13 +86,13 @@ class CollectionFrame extends JComponent {
var obj = _tanksStorage.get(frame.listStorage.getSelectedValue()); var obj = _tanksStorage.get(frame.listStorage.getSelectedValue());
if (obj == null) if (obj == null)
return; return;
BaseFrame form = new BaseFrame(); ConfigFrame form = new ConfigFrame();
form.setVisible(true); form.setVisible(true);
form.buttonSelect.addActionListener( form.buttonAdd.addActionListener(
new ActionListener() { new ActionListener() {
public void actionPerformed(ActionEvent e){ public void actionPerformed(ActionEvent e){
DrawTanker dT = form.Gasoline._tanker;
if (obj.plus(form.Gasoline.GetSelectedCar()) != -1) if (dT != null && obj.plus(dT) != -1)
{ {
form.dispose(); form.dispose();
JOptionPane.showMessageDialog(null, "Объект добавлен", "Информация", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(null, "Объект добавлен", "Информация", JOptionPane.INFORMATION_MESSAGE);

View File

@ -7,6 +7,12 @@ public class DrawGasolineTanker extends DrawTanker {
GasolineTanker = new GasolineTanker(speed, weight, bodyColor, additionalColor, bodyKit, wing, sportLine); GasolineTanker = new GasolineTanker(speed, weight, bodyColor, additionalColor, bodyKit, wing, sportLine);
} }
} }
public DrawGasolineTanker(int speed, double weight, Color bodyColor, Color additionalColor, boolean bodyKit, boolean wing, boolean sportLine, int width, int height, int wheelCount) {
super(speed, weight, bodyColor, width, height, wheelCount);
if (GasolineTanker != null) {
GasolineTanker = new GasolineTanker(speed, weight, bodyColor, additionalColor, bodyKit, wing, sportLine);
}
}
public DrawGasolineTanker(GasolineTanker tanker, int width, int height, IWheelDraw wheelMode) public DrawGasolineTanker(GasolineTanker tanker, int width, int height, IWheelDraw wheelMode)
{ {
super(tanker, width, height, wheelMode); super(tanker, width, height, wheelMode);

View File

@ -3,7 +3,7 @@ import java.awt.*;
public class DrawTanker { public class DrawTanker {
protected BaseTanker GasolineTanker; protected BaseTanker GasolineTanker;
public BaseTanker GetGasolineTanker() {return GasolineTanker;} public BaseTanker GetGasolineTanker() {return GasolineTanker;}
private IWheelDraw wheelsDrawing; protected IWheelDraw wheelsDrawing;
protected int _pictureWidth; protected int _pictureWidth;
protected int _pictureHeight; protected int _pictureHeight;
protected int _startPosX; protected int _startPosX;
@ -49,6 +49,16 @@ public class DrawTanker {
wheelsDrawing.setWheelCount(wheelCount); wheelsDrawing.setWheelCount(wheelCount);
} }
public DrawTanker(int speed, double weight, Color bodyColor, int width, int height, int wheelCount)
{
_pictureHeight = height;
_pictureWidth = width;
GasolineTanker = new BaseTanker(speed, weight, bodyColor);
wheelsDrawing = new DrawWheelClassic();
wheelsDrawing.setWheelCount(wheelCount);
}
public DrawTanker(BaseTanker tanker, int width, int height, IWheelDraw wheels) public DrawTanker(BaseTanker tanker, int width, int height, IWheelDraw wheels)
{ {
GasolineTanker = tanker; GasolineTanker = tanker;

View File

@ -17,21 +17,35 @@ public class DrawWheelCircle implements IWheelDraw {
wheelCounter = WheelCounter.TWO; wheelCounter = WheelCounter.TWO;
} }
public int getWheelCount()
{
switch (wheelCounter)
{
case TWO -> {return 2;}
case THREE -> {return 3;}
case FOUR -> {return 4;}
}
return 2;
}
public void DrawWheels(int _startPosX, int _startPosY, Color bodyColor, Graphics2D g2d) public void DrawWheels(int _startPosX, int _startPosY, Color bodyColor, Graphics2D g2d)
{ {
g2d.setColor(bodyColor); g2d.setColor(bodyColor);
Random rnd = new Random();
g2d.fillOval(10 + _startPosX, 60 + _startPosY, 20, 20); g2d.fillOval(10 + _startPosX, 60 + _startPosY, 20, 20);
g2d.fillOval(80 + _startPosX, 60 + _startPosY, 20, 20); g2d.fillOval(80 + _startPosX, 60 + _startPosY, 20, 20);
Color stringColor = new Color(rnd.nextInt(0, 256), rnd.nextInt(0, 256), rnd.nextInt(0, 256));
g2d.setColor(stringColor);
g2d.drawString("S",15 + _startPosX, 75 + _startPosY);
g2d.drawString("S",85 + _startPosX, 75 + _startPosY);
if (wheelCounter == null)
return;
g2d.setColor(bodyColor);
switch (wheelCounter) switch (wheelCounter)
{ {
case THREE -> {g2d.fillOval(45 + _startPosX, 60 + _startPosY ,20, 20);} case THREE -> {g2d.fillOval(45 + _startPosX, 60 + _startPosY ,20, 20);}
case FOUR -> {g2d.fillOval(30 + _startPosX, 60 + _startPosY ,20, 20); g2d.fillOval(60 + _startPosX, 60 + _startPosY ,20, 20);} case FOUR -> {g2d.fillOval(30 + _startPosX, 60 + _startPosY ,20, 20); g2d.fillOval(60 + _startPosX, 60 + _startPosY ,20, 20);}
} }
Random rnd = new Random();
Color stringColor = new Color(rnd.nextInt(0, 256), rnd.nextInt(0, 256), rnd.nextInt(0, 256));
g2d.setColor(stringColor); g2d.setColor(stringColor);
g2d.drawString("S",15 + _startPosX, 75 + _startPosY);
g2d.drawString("S",85 + _startPosX, 75 + _startPosY);
switch (wheelCounter) switch (wheelCounter)
{ {
case THREE -> {g2d.drawString("S",50 + _startPosX, 75 + _startPosY);} case THREE -> {g2d.drawString("S",50 + _startPosX, 75 + _startPosY);}

View File

@ -15,12 +15,23 @@ public class DrawWheelClassic implements IWheelDraw{
else if (count % 3 == 2) else if (count % 3 == 2)
wheelCounter = WheelCounter.TWO; wheelCounter = WheelCounter.TWO;
} }
public int getWheelCount()
{
switch (wheelCounter)
{
case TWO -> {return 2;}
case THREE -> {return 3;}
case FOUR -> {return 4;}
}
return 2;
}
public void DrawWheels(int _startPosX, int _startPosY, Color bodyColor, Graphics2D g2d) public void DrawWheels(int _startPosX, int _startPosY, Color bodyColor, Graphics2D g2d)
{ {
g2d.setColor(bodyColor); g2d.setColor(bodyColor);
g2d.fillOval(10 + _startPosX, 60 + _startPosY, 20, 20); g2d.fillOval(10 + _startPosX, 60 + _startPosY, 20, 20);
g2d.fillOval(80 + _startPosX, 60 + _startPosY, 20, 20); g2d.fillOval(80 + _startPosX, 60 + _startPosY, 20, 20);
if (wheelCounter == null)
return;
switch (wheelCounter) switch (wheelCounter)
{ {
case THREE -> {g2d.fillOval(45 + _startPosX, 60 + _startPosY ,20, 20);} case THREE -> {g2d.fillOval(45 + _startPosX, 60 + _startPosY ,20, 20);}

View File

@ -17,22 +17,39 @@ public class DrawWheelSquare implements IWheelDraw{
wheelCounter = WheelCounter.TWO; wheelCounter = WheelCounter.TWO;
} }
public int getWheelCount()
{
switch (wheelCounter)
{
case TWO -> {return 2;}
case THREE -> {return 3;}
case FOUR -> {return 4;}
}
return 2;
}
public void DrawWheels(int _startPosX, int _startPosY, Color bodyColor, Graphics2D g2d) public void DrawWheels(int _startPosX, int _startPosY, Color bodyColor, Graphics2D g2d)
{ {
g2d.setColor(bodyColor); g2d.setColor(bodyColor);
g2d.fillOval(10 + _startPosX, 60 + _startPosY, 20, 20); g2d.fillOval(10 + _startPosX, 60 + _startPosY, 20, 20);
g2d.drawString("S",15 + _startPosX, 60 + _startPosY);
g2d.fillOval(80 + _startPosX, 60 + _startPosY, 20, 20); g2d.fillOval(80 + _startPosX, 60 + _startPosY, 20, 20);
switch (wheelCounter)
{
case THREE -> {g2d.fillOval(45 + _startPosX, 60 + _startPosY ,20, 20);}
case FOUR -> {g2d.fillOval(30 + _startPosX, 60 + _startPosY ,20, 20); g2d.fillOval(60 + _startPosX, 60 + _startPosY ,20, 20);}
}
Random rnd = new Random(); Random rnd = new Random();
Color stringColor = new Color(rnd.nextInt(0, 256), rnd.nextInt(0, 256), rnd.nextInt(0, 256)); Color stringColor = new Color(rnd.nextInt(0, 256), rnd.nextInt(0, 256), rnd.nextInt(0, 256));
g2d.setColor(stringColor); g2d.setColor(stringColor);
g2d.fillRect(15 + _startPosX, 65 + _startPosY, 10, 10); g2d.fillRect(15 + _startPosX, 65 + _startPosY, 10, 10);
g2d.fillRect(85 + _startPosX, 65 + _startPosY, 10, 10); g2d.fillRect(85 + _startPosX, 65 + _startPosY, 10, 10);
if (wheelCounter == null)
return;
g2d.setColor(bodyColor);
switch (wheelCounter) {
case THREE -> {
g2d.fillOval(45 + _startPosX, 60 + _startPosY, 20, 20);
}
case FOUR -> {
g2d.fillOval(30 + _startPosX, 60 + _startPosY, 20, 20);
g2d.fillOval(60 + _startPosX, 60 + _startPosY, 20, 20);
}
}
g2d.setColor(stringColor);
switch (wheelCounter) switch (wheelCounter)
{ {
case THREE -> {g2d.fillRect(50 + _startPosX, 65 + _startPosY, 10, 10);} case THREE -> {g2d.fillRect(50 + _startPosX, 65 + _startPosY, 10, 10);}

View File

@ -3,6 +3,7 @@ import java.awt.*;
public class GasolineTanker extends BaseTanker{ public class GasolineTanker extends BaseTanker{
private Color AdditionalColor; private Color AdditionalColor;
public Color GetAdditionalColor() {return AdditionalColor;} public Color GetAdditionalColor() {return AdditionalColor;}
public void setAdditionalColor(Color color) {AdditionalColor = color;}
private boolean BodyKit; private boolean BodyKit;
public boolean GetBodyKit() {return BodyKit;} public boolean GetBodyKit() {return BodyKit;}
private boolean Wing; private boolean Wing;

View File

@ -3,5 +3,6 @@ import java.awt.*;
public interface IWheelDraw { public interface IWheelDraw {
void DrawWheels(int _startPosX, int _startPosY, Color bodyColor, Graphics2D g2d); void DrawWheels(int _startPosX, int _startPosY, Color bodyColor, Graphics2D g2d);
void setWheelCount(int wheelCount); void setWheelCount(int wheelCount);
int getWheelCount();
} }

View File

@ -1,7 +1,6 @@
public class Main { public class Main {
public static void main(String[] args) { public static void main(String[] args) {
GarageFrame a = new GarageFrame(); GarageFrame a = new GarageFrame();
//ComboFrame a = new ComboFrame();
a.setVisible(true); a.setVisible(true);
} }
} }