色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java用類和思想去生成圖形

李明濤1年前6瀏覽0評論

Java是一種面向對象編程語言,它憑借它所提供的類和對象機制,以及面向對象的編程思想,為生成圖形提供了極大的便利。在Java中,我們可以利用類和思想去繪制出各種各樣的圖形,滿足不同場合的需求。

一個經典的Java圖形生成實例是通過繼承了JPanel類來繪制出一個五角星:

import javax.swing.*;
import java.awt.*;
public class FiveStars extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
int counter = 1;
int halfWidth = getWidth() / 2;
int halfHeight = getHeight() / 2;
int radius = Math.min(halfWidth, halfHeight);
int x = halfWidth + (int) (Math.sin(Math.PI / 5) * radius);
int y = halfHeight - (int) (Math.cos(Math.PI / 5) * radius);
int space = (int) ((radius - Math.sin(Math.PI / 10) * radius) / (1 + Math.sin(Math.PI / 10)));
for (int i = 0; i< 5; i++) {
g.drawLine(x, y, x - space, y + space);
g.drawLine(x - space, y + space, x - radius, y + radius);
g.drawLine(x - radius, y + radius, x + radius, y + radius);
g.drawLine(x + radius, y + radius, x + space, y + space);
g.drawLine(x + space, y + space, x, y);
x = halfWidth + (int) (Math.sin(Math.PI / 5 * (counter + 1)) * radius);
y = halfHeight - (int) (Math.cos(Math.PI / 5 * (counter + 1)) * radius);
counter++;
}
}
public static void main(String[] args) {
JFrame app = new JFrame();
app.add(new FiveStars());
app.setSize(500, 500);
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setVisible(true);
}
}

以上代碼演示了如何按照五角星的輪廓繪制出一個完整的五角星。代碼的核心是在paintComponent方法中繪制出五角星的每一個線段,其中線段的坐標和長度都是由五角星的輪廓決定的。

通過這個例子,我們可以看到Java利用類和面向對象的編程思想去生成圖形的能力。我們可以定義一個圖形類,每個圖形都有自己的輪廓、顏色等屬性,以及一套繪制自身的方法。這樣,我們就可以很方便地利用這些類去生成各種各樣的圖形了。