Hiển thị pie chart trong Java
Miêu tả vấn đề
Cách hiển thị pie chart bởi sử dụng một Frame?
Giải pháp
Ví dụ sau minh họa cách hiển thị một pie chart bằng việc tạo lớp Slices và tạo tham số phụ thuộc vào các slice đó.
import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Rectangle;import javax.swing.JComponent; import javax.swing.JFrame;class Slice { double value; Color color; public Slice(double value, Color color) { this.value = value; this.color = color; } } class MyComponent extends JComponent { Slice[] slices = { new Slice(5, Color.black), new Slice(33, Color.green), new Slice(20, Color.yellow), new Slice(15, Color.red) }; MyComponent() {} public void paint(Graphics g) { drawPie((Graphics2D) g, getBounds(), slices); } void drawPie(Graphics2D g, Rectangle area, Slice[] slices) { double total = 0.0D; for (int i = 0; i < slices.length; i++) { total += slices[i].value; } double curValue = 0.0D; int startAngle = 0; for (int i = 0; i < slices.length; i++) { startAngle = (int) (curValue * 360 / total); int arcAngle = (int) (slices[i].value * 360 / total); g.setColor(slices[i].color); g.fillArc(area.x, area.y, area.width, area.height, startAngle, arcAngle); curValue += slices[i].value; } } } public class Main { public static void main(String[] argv) { JFrame frame = new JFrame(); frame.getContentPane().add(new MyComponent()); frame.setSize(300, 200); frame.setVisible(true); } }
Kết quả
Code trên sẽ cho kết quả sau:
Displays a piechart in a frame.
Bài học Bài tập Java phổ biến tại hoconline.club:
lap_trinh_gui_trong_java.jsp
Bài viết liên quan