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;
}
private void setBodyColor(Color bodyColor)
public void setBodyColor(Color bodyColor)
{
BodyColor = bodyColor;
}

View File

@ -86,13 +86,13 @@ class CollectionFrame extends JComponent {
var obj = _tanksStorage.get(frame.listStorage.getSelectedValue());
if (obj == null)
return;
BaseFrame form = new BaseFrame();
ConfigFrame form = new ConfigFrame();
form.setVisible(true);
form.buttonSelect.addActionListener(
form.buttonAdd.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e){
if (obj.plus(form.Gasoline.GetSelectedCar()) != -1)
DrawTanker dT = form.Gasoline._tanker;
if (dT != null && obj.plus(dT) != -1)
{
form.dispose();
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);
}
}
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)
{
super(tanker, width, height, wheelMode);

View File

@ -3,7 +3,7 @@ import java.awt.*;
public class DrawTanker {
protected BaseTanker GasolineTanker;
public BaseTanker GetGasolineTanker() {return GasolineTanker;}
private IWheelDraw wheelsDrawing;
protected IWheelDraw wheelsDrawing;
protected int _pictureWidth;
protected int _pictureHeight;
protected int _startPosX;
@ -49,6 +49,16 @@ public class DrawTanker {
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)
{
GasolineTanker = tanker;

View File

@ -17,21 +17,35 @@ public class DrawWheelCircle implements IWheelDraw {
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)
{
g2d.setColor(bodyColor);
Random rnd = new Random();
g2d.fillOval(10 + _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)
{
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();
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);
switch (wheelCounter)
{
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)
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)
{
g2d.setColor(bodyColor);
g2d.fillOval(10 + _startPosX, 60 + _startPosY, 20, 20);
g2d.fillOval(80 + _startPosX, 60 + _startPosY, 20, 20);
if (wheelCounter == null)
return;
switch (wheelCounter)
{
case THREE -> {g2d.fillOval(45 + _startPosX, 60 + _startPosY ,20, 20);}

View File

@ -17,22 +17,39 @@ public class DrawWheelSquare implements IWheelDraw{
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)
{
g2d.setColor(bodyColor);
g2d.fillOval(10 + _startPosX, 60 + _startPosY, 20, 20);
g2d.drawString("S",15 + _startPosX, 60 + _startPosY);
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();
Color stringColor = new Color(rnd.nextInt(0, 256), rnd.nextInt(0, 256), rnd.nextInt(0, 256));
g2d.setColor(stringColor);
g2d.fillRect(15 + _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)
{
case THREE -> {g2d.fillRect(50 + _startPosX, 65 + _startPosY, 10, 10);}

View File

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

View File

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

View File

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