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利用類和面向對象的編程思想去生成圖形的能力。我們可以定義一個圖形類,每個圖形都有自己的輪廓、顏色等屬性,以及一套繪制自身的方法。這樣,我們就可以很方便地利用這些類去生成各種各樣的圖形了。
上一篇python畫良率圖
下一篇python畫線形圖