Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Здравствуйте, не могу разобраться как нарисовать треугольники и многоугольник на java Нужно сделать вот такую картину

алекс Знаток (479), на голосовании 11 месяцев назад
 import javax.swing.*; 
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
public class Les1 {
public static void main(String[] args) {
System.out.println("it is programm LES");
LesFrame frame = new LesFrame();
frame. setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
class LesFrame extends JFrame
{
public LesFrame()

{
setSize(1000,600);
setTitle("Терехин Алексей 0044");
MyPanel panel=new MyPanel();
Container pane=getContentPane();
pane.add(panel);
}

}
class MyPanel extends JPanel
{
public void paintComponent (Graphics g)
{
super.paintComponent(g);
g.setFont(new Font("Arial",Font.BOLD,35));
g.drawString("ЛЕС",720,470);
g.setColor(new Color(250,0,0));
g.drawOval(25, 20, 950, 535);
g.setColor(Color.CYAN);
g.fillRoundRect(350,375,125,125,60,40);
g.setColor(new Color(100));
g.drawRoundRect(220, 375, 125, 125, 60, 40);
g.drawRoundRect(350, 230, 125, 125, 60, 40);
g.setColor(Color.CYAN);
g.fillRoundRect(220, 230, 125, 125, 60, 40);
g.setColor(new Color(100));
g.drawRoundRect(275, 85, 125, 125, 60, 40);


}
}

Дальше нужна помощь
Голосование за лучший ответ
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (263999) 12 месяцев назад
примерно так

 import javax.swing.*; 
import java.awt.*;
import java.awt.geom.*;

public class Les1 {
public static void main(String[] args) {
System.out.println("It is program LES");
LesFrame frame = new LesFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

class LesFrame extends JFrame {
public LesFrame() {
setSize(1000, 600);
setTitle("Терехин Алексей 0044");
MyPanel panel = new MyPanel();
Container pane = getContentPane();
pane.add(panel);
}
}

class MyPanel extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);

Graphics2D g2 = (Graphics2D) g;

// Рисуем солнце
g.setColor(Color.YELLOW);
g.fillOval(50, 50, 100, 100);

// Рисуем траву
g.setColor(Color.GREEN);
g.fillRect(0, 400, 1000, 200);

// Рисуем ёлочки
drawTree(g2, 300, 300, 50, 100);
drawTree(g2, 600, 300, 50, 100);

// Рисуем домик
drawHouse(g2, 400, 300);

// Рисуем равнобедренный шестиугольник над крышей
drawHexagon(g2, 400, 270, 50);
}

private void drawTree(Graphics2D g2, int x, int y, int width, int height) {
g2.setColor(new Color(139, 69, 19)); // Коричневый цвет для ствола
g2.fillRect(x + width / 2 - 5, y + height, 10, height); // Ствол

g2.setColor(new Color(0, 128, 0)); // Зеленый цвет для ёлочки

int[] xPoints = {x, x + width / 2, x + width}; // Координаты вершин треугольника
int[] yPoints = {y + height, y, y + height};

Polygon triangle = new Polygon(xPoints, yPoints, 3); // Создаем треугольник
g2.fill(triangle); // Рисуем треугольник
}

private void drawHouse(Graphics2D g2, int x, int y) {
g2.setColor(new Color(255, 69, 0)); // Оранжевый цвет для домика
g2.fillRect(x, y, 200, 200); // Основание домика

g2.setColor(new Color(0, 0, 0)); // Черный цвет для двери
g2.fillRect(x + 80, y + 100, 40, 100); // Дверь

g2.setColor(new Color(173, 216, 230)); // Голубой цвет для окна
g2.fillRect(x + 20, y + 20, 60, 60); // Окно
}

private void drawHexagon(Graphics2D g2, int x, int y, int size) {
g2.setColor(new Color(255, 0, 0)); // Красный цвет для шестиугольника

int[] xPoints = new int[6];
int[] yPoints = new int[6];

for (int i = 0; i < 6; i++) {
double angle = Math.toRadians(60 * i);
xPoints[i] = x + (int) (size * Math.cos(angle));
yPoints[i] = y - (int) (size * Math.sin(angle));
}

Polygon hexagon = new Polygon(xPoints, yPoints, 6); // Создаем шестиугольник
g2.fill(hexagon); // Рисуем шестиугольник
}
}
Похожие вопросы