欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java graphic和paint

洪振霞1年前8瀏覽0評論

Java Graphic和Paint都是Java中用于繪制畫面的庫。

Graphic是java.awt包下的一個類,它提供了一系列的繪制方法,可以在組件上繪制各種圖形,包括線段、矩形、橢圓等等。使用Graphic類繪制圖形需要先通過getGraphics()方法獲取該組件的Graphics對象,然后調用對應的繪制方法進行繪制。

import java.awt.*;
import javax.swing.*;
public class Example extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine(0, 0, 50, 50);
g.drawRect(20, 20, 80, 50);
g.drawOval(100, 100, 50, 50);
}
public static void main(String[] args) {
JFrame frame = new JFrame("Example");
frame.add(new Example());
frame.setSize(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

Paint是Java Swing中的一個抽象類,它提供了更加豐富的繪制支持。和Graphic不同,Paint是通過繼承JComponent類實現的,它的paintComponent()方法可以直接繪制圖形。除了繪制基本圖形外,Paint還支持繪制圖片、漸變等特殊效果。

import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
public class Example extends JComponent {
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.setPaint(new GradientPaint(0, 0, Color.RED, 100, 0, Color.BLUE));
g2.fill(new Rectangle2D.Float(20, 20, 80, 50));
g2.draw(new Line2D.Float(0, 0, 50, 50));
g2.setPaint(Color.GREEN);
g2.fill(new Ellipse2D.Float(100, 100, 50, 50));
Image img = new ImageIcon("image.png").getImage();
g2.drawImage(img, 150, 150, null);      
}
public static void main(String[] args) {
JFrame frame = new JFrame("Example");
frame.add(new Example());
frame.setSize(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

總而言之,Java Graphic和Paint都是非常重要的繪圖工具,可以實現各種復雜的圖形操作。在使用的時候要注意選擇合適的庫,并且掌握基本的繪圖方法。