21xrx.com
2024-12-24 00:42:35 Tuesday
登录
文章检索 我的文章 写文章
圣诞节是一个充满欢乐和温馨的节日
2023-06-11 04:49:17 深夜i     --     --

圣诞节是一个充满欢乐和温馨的节日,每年这个时候我们都会在家庭、学校、办公室等许多地方看到漂亮的圣诞树。作为一名JAVA程序员,我想利用JAVA绘制一个圣诞树,让大家在程序员的世界里也可以感受到圣诞的氛围。

关键词1:Graphics2D

利用JAVA绘制图形需要用到Graphics2D,它是JAVA 2D API 的核心类之一。我们可以通过Graphics2D实例调用各种方法来绘制图形。下面是一个绘制圆形的例子:


import java.awt.*;

import javax.swing.*;

public class Circle extends JPanel {

 public void paintComponent(Graphics g) {

  Graphics2D g2d = (Graphics2D) g;

  g2d.drawOval(20, 20, 50, 50);

 }

 public static void main(String[] args) {

  JFrame frame = new JFrame("Circle");

  frame.add(new Circle());

  frame.setSize(200, 200);

  frame.setVisible(true);

  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 }

}

关键词2:Color

圣诞树的颜色是绿色,我们可以使用Color类来设置颜色。下面是一个绘制矩形并填充绿色的例子:


import java.awt.*;

import javax.swing.*;

public class GreenRectangle extends JPanel {

 public void paintComponent(Graphics g) {

  Graphics2D g2d = (Graphics2D) g;

  g2d.setColor(Color.GREEN);

  g2d.fillRect(20, 20, 50, 50);

 }

 public static void main(String[] args) {

  JFrame frame = new JFrame("GreenRectangle");

  frame.add(new GreenRectangle());

  frame.setSize(200, 200);

  frame.setVisible(true);

  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 }

}

关键词3:循环

圣诞树由许多三角形组成,我们可以通过循环来绘制这些三角形并填充绿色。下面是一个绘制圣诞树的完整代码:


import java.awt.*;

import javax.swing.*;

public class ChristmasTree extends JPanel {

 public void paintComponent(Graphics g) {

  Graphics2D g2d = (Graphics2D) g;

  int width = getWidth();

  int height = getHeight();

  int trunkWidth = width / 10;

  int trunkHeight = height / 5;

  int startX = width / 2 - trunkWidth / 2;

  int startY = height - trunkHeight;

  g2d.setColor(Color.DARK_GRAY);

  g2d.fillRect(startX, startY, trunkWidth, trunkHeight);

  int triangleHeight = height / 5;

  int triangleWidth = triangleHeight * 2;

  int treeStartX = width / 2 - triangleWidth / 2;

  int treeStartY = height - trunkHeight - triangleHeight;

  g2d.setColor(Color.GREEN);

  int levels = 4;

  int levelWidth = 1;

  int levelHeight = triangleHeight;

  for (int i = 0; i < levels; i++) {

    for (int j = 0; j < levelWidth; j++) {

      int x = treeStartX + j * triangleWidth / levelWidth;

      int y = treeStartY - i * triangleHeight;

      g2d.fillPolygon(new int[] {x, x - triangleWidth / 2, x + triangleWidth / 2},

              new int[] {y, y + triangleHeight, y + triangleHeight}, 3);

    }

    levelWidth += 2;

  }

 }

 public static void main(String[] args) {

  JFrame frame = new JFrame("ChristmasTree");

  frame.add(new ChristmasTree());

  frame.setSize(300, 300);

  frame.setVisible(true);

  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 }

}

通过上述代码,我们可以绘制出一个漂亮的圣诞树,让我们在节日里也可以感受到JAVA程序员的魅力。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复