21xrx.com
2024-11-22 17:26:59 Friday
登录
文章检索 我的文章 写文章
关键词:Java、绘制、扇形图、三角形
2023-06-16 19:27:35 深夜i     --     --

《Java轻松绘制扇形图和三角形》

Java是一门广泛应用于软件开发的编程语言,其强大的绘图功能得到开发者的广泛应用。本文将重点探讨如何使用Java绘制扇形图与三角形两种图形。

一、绘制扇形图

要绘制扇形图,我们需要知道扇形的起始角度和终止角度。Java中提供了Arc2D类来绘制弧形图形,我们可以根据自己的需求设置起始角度和终止角度来绘制出扇形。

代码实现如下:


import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.geom.Arc2D;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class PieChart extends JFrame {

public PieChart() {

setTitle("Java绘制扇形图");

setSize(350, 350);

PieChartPanel pieChart = new PieChartPanel();

add(pieChart, BorderLayout.CENTER);

}

class PieChartPanel extends JPanel{

@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g);

Graphics2D g2 = (Graphics2D) g;

Arc2D arc = new Arc2D.Double(50, 50, 200, 200, 0, 120, Arc2D.PIE);

g2.setPaint(Color.RED);

g2.fill(arc);

arc.setAngleStart(120);

arc.setAngleExtent(60);

g2.setPaint(Color.BLUE);

g2.fill(arc);

arc.setAngleStart(180);

arc.setAngleExtent(180);

g2.setPaint(Color.GREEN);

g2.fill(arc);

}

}

public static void main(String[] args) {

PieChart demo = new PieChart();

demo.setVisible(true);

}

}

二、绘制三角形

要绘制三角形,我们需要至少三个点坐标才能完成绘制,在Java中,我们可以使用Polygon类来表示一个多边形,然后通过设置多边形的三个点坐标来绘制出三角形。

代码实现如下:


import java.awt.Color;

import java.awt.Graphics;

import java.awt.Polygon;

import javax.swing.JFrame;

public class Triangle extends JFrame {

public Triangle() {

setTitle("Java绘制三角形");

setSize(350, 350);

TrianglePanel trianglePanel = new TrianglePanel();

add(trianglePanel);

}

class TrianglePanel extends JPanel{

@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g);

Polygon p = new Polygon();

p.addPoint(50, 50);

p.addPoint(250, 50);

p.addPoint(150, 200);

g.setColor(Color.RED);

g.fillPolygon(p);

}

}

public static void main(String[] args) {

Triangle demo = new Triangle();

demo.setVisible(true);

}

}

以上就是本文关于Java绘制扇形图和三角形的讲解,大家可以根据自己的需求来实现相应的绘制。

  
  

评论区

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