日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

java画笔覆盖在界面_Java实现画图程序和重绘

發布時間:2023/11/27 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java画笔覆盖在界面_Java实现画图程序和重绘 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上次聊了一下事件監聽機制,今天就來聊一下怎么實現一個畫圖程序并且實現重繪。

一.實現畫圖程序

1.實現一個畫圖程序所需的API類?

JFrame窗體容器組件類

JPanel 面板元素組件類

JButton按鈕元素組件類

Dimension封裝組件的寬度和高度的類

BoarderLayout 邊框布局類

Graphics 畫筆類:提供各種繪制圖形的方法

Graphics2D 畫筆類:Graphics子類,提供各種繪制圖形更為復雜的控制。

Color顏色類:提供顏色

BasicStroke 接口Stroke的實現類,用于定義線條的特征

ActionListener 動作事件接口

ActionEvent存儲動作事件的相關(事件源對象)信息

MouseListener 鼠標事件接口:提供處理按下,釋放,點擊,進入和離開動作

MouseMotionListener鼠標移動事件接口:提供處理移動和拖動動作的處理方法

MouseEvent存儲鼠標事件的相關(事件源對象)信息

數組 是一個容器,用來存儲同一類型的數據

2.那怎么寫呢?

實現界面類

Public class ReDrawMain extends JPanel{

JFrame frame=new JFrame();

main(){}

initUI(){}

}

事件處理類

/**

* 1.定義DrawListener事件處理類,該類要實現ActionLIstener動作事件接口、

* MouseListener鼠標事件接口和MouseMotionListener鼠標移動事件接口,

*/

public class DrawListenerner implements ActionListener, MouseListener,

MouseMotionListener {}

3.一個畫圖程序需要實現的基本內容

目標1:點擊窗體上的不同的按鈕,獲取到按鈕上的文字信息。

事件監聽機制

1.事件源對象:所有的按鈕對象

2.事件監聽方法:addActionListener(ActionListener l);

3.事件接口(事件處理類):ActionListener

實現步驟:

1.定義DrawListener事件處理類,該類要實現ActionLIstener動作事件接口,重寫接口中的所有抽象方法。

2.在重寫的事件處理方法中,獲取按鈕上的信息。

3.在ReDrawMain類的initUI方法中,實例化DrawListener事件處理類的對象,命名為dl。

4.將事件源按鈕對象通過addActionListener()監聽方法和事件處理類dl對象綁定。

目標2:在窗體上按下鼠標按鍵,然后釋放鼠標按鍵,在按下和釋放的兩點之間繪制圖形

事件監聽機制

1.事件源對象:面板對象

2.事件監聽方法:addMouseListener(MouseListener l);

3.事件接口(事件處理類):MouseListener

實現步驟:

1.定義DrawListener事件處理類,該類要實現MouseListener鼠標事件接口,重寫接口中的所有抽象方法。

2.在重寫的按下動作和釋放動作的事件處理方法中,在按下方法中獲取按下坐標值,在釋放方法中獲取釋放的坐標值;之后根據按下和釋放的坐標值,以及圖形和顏色,使用Graphics來繪制對應的圖形。

3.在ReDrawMain類的initUI方法中,實例化DrawListener事件處理類的對象,命名為dl。

4.將事件源窗體對象通過addMouseListener()監聽方法和事件處理類dl對象綁定。

目標3:在窗體上按下鼠標按鍵,然后拖動鼠標,在按下和拖動之間繪制曲線

事件監聽機制

1.事件源對象:面板對象

2.事件監聽方法:addMouseMotionListener(MouseMotionListener l);

3.事件接口(事件處理類):MouseMotionListener

二.重繪

1.實現畫圖程序后,問題出現了 ≥﹏≤

我們會發現畫圖界面上繪制的圖形,當我們放大或者最小化窗體,所有的圖形都將消失。

2.所以呢,我們必須知道重繪的原理 (? ˙o˙)?

所有的組件都是繪制出來的,那么組件就有一個繪制(paint)的方法;當你改變窗體的大小時,會自動的去調用paint方法,將組件再畫一次。

當改變窗體大小后,如果想要圖形不消失,必須要將圖形放在paint方法中進行繪制。

3.敲黑板啦,那怎么實現我們繪制的圖形重繪? ???(??? ? ???)???

要讓圖形在面板的paint方法中,再畫一次。

定義圖形類,用來存儲圖形的四個坐標、顏色、畫筆大小...

需要使用數組來存儲圖形數據,數組的數據類型就為圖形類。

數組能存儲的元素個數是固定的,數組的大小就只能定義一個足夠大的。

三.實現一個有直線、填充矩形、填充圓、圓角矩形、3D矩形、文字、任意多邊形、五角星、

鉛筆、刷子、橡皮、噴槍、吸管以及可以選擇畫筆顏色的畫圖程序,并且實現重繪。

代碼如下:

package SummerCamp6;

/**

*界面類:實現一個有直線、填充矩形、填充圓、圓角矩形、3D矩形、文字、任意多邊形、

* 五角星、鉛筆、刷子、橡皮、噴槍、吸管以及可以選擇畫筆顏色的畫圖程序,并且實現重繪。

*/

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Graphics;

import java.awt.Graphics2D;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class ReDrawMain extends JPanel {

JFrame frame=new JFrame();

public static void main(String[] args) {

new ReDrawMain().initUI();

}

private Shape[] shapeArray = new Shape[10000];

/**

* 初始化界面的方法

*/

public void initUI() {

frame.setTitle("依米的畫圖板");

frame.setDefaultCloseOperation(3);

frame.setSize(1000, 700);

frame.setLocationRelativeTo(null);

DrawListenerner dl = new DrawListenerner(this, shapeArray);

JPanel panel1 = new JPanel(); // 北邊面板(存放鉛筆,噴槍等工具按鈕)

panel1.setPreferredSize(new Dimension(120, 50));

panel1.setBackground(Color.gray);

frame.add(panel1, BorderLayout.NORTH);

String[] str1 = { "鉛筆", "刷子", "噴槍", "吸管", "橡皮" };

for (int i = 0; i < str1.length; i++) {

JButton button_1 = new JButton(str1[i]);

panel1.add(button_1);

button_1.setPreferredSize(new Dimension(110, 30));

button_1.addActionListener(dl);

}

JPanel panel2 = new JPanel(); // 西邊面板(存放圖形按鈕)

panel2.setPreferredSize(new Dimension(130, 800));

panel2.setBackground(Color.gray);

frame.add(panel2, BorderLayout.WEST);

String[] str2 = { "直線", "填充圓", "文字", "圖片", "圓角矩形", "填充矩形", "3d矩形", "五角星",

"任意多邊形" };

for (int i = 0; i < str2.length; i++) {

JButton button_2 = new JButton(str2[i]);

panel2.add(button_2);

button_2.setPreferredSize(new Dimension(120, 30));

button_2.addActionListener(dl);

}

JPanel panel3 = new JPanel(); // 東邊面板(存放顏色按鈕)

panel3.setPreferredSize(new Dimension(130, 800));

panel3.setBackground(Color.gray);

frame.add(panel3, BorderLayout.EAST);

// 定義Color數組,用來存儲按鈕上要顯示的顏色信息

Color[] colorArray = { Color.BLUE, Color.GREEN, Color.RED, Color.BLACK,

Color.lightGray, Color.ORANGE, Color.PINK,

new Color(123, 100, 132) };

// 循環遍歷colorArray數組,根據數組中的元素來實例化按鈕對象

for (int i = 0; i < colorArray.length; i++) {

JButton button = new JButton();

button.setBackground(colorArray[i]);

button.setPreferredSize(new Dimension(50, 50));

// 4.將事件源按鈕對象通過addActionListener()監聽方法和事件處理類dl對象綁定。

button.addActionListener(dl);

panel3.add(button);

}

frame.add(this, BorderLayout.CENTER);

frame.setBackground(this.getBackground());

frame.setVisible(true);// 可見必須在gr之前,否則看不到畫筆

Graphics gr = this.getGraphics();// 從窗體上獲取畫筆對象

this.addMouseListener(dl);

this.addMouseMotionListener(dl);

dl.setG(gr);

}

// 聲明圖形對象數組,數組的能存儲的元素個數是10000個圖形

/**

* 重寫組件的paint方法

*/

public void paint(Graphics gr) {

super.paint(gr);//調用父類的paint()

// 循環遍歷shapeArray數組

for (int i = 0; i < shapeArray.length; i++) {

Shape shape = shapeArray[i];// 從數組中獲取Shape對象

if(shape!=null)//shape是否不為空,如果不為空則調用畫圖形的方法

shape.draw((Graphics2D)gr);//調用繪制圖形的方法

}

}

}

/**

* 1.定義DrawListener事件處理類,該類要實現ActionLIstener動作事件接口、

* MouseListener鼠標事件接口和MouseMotionListener鼠標移動事件接口,

*/

package SummerCamp6;

import java.awt.AWTException;

import java.awt.BasicStroke;

import java.awt.Color;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.Rectangle;

import java.awt.Robot;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.awt.event.MouseMotionListener;

import java.awt.image.BufferedImage;

import java.util.Random;

import javax.swing.JButton;

import javax.swing.JPanel;

public class DrawListenerner implements ActionListener, MouseListener,

MouseMotionListener {

private String type = "鉛筆";// 聲明圖形屬性,用來存儲用戶選擇的圖形

private Color color = Color.black;// 聲明顏色屬性,用來存儲用戶選擇的顏色

private Graphics g;// 聲明Graphics畫筆類的對象名屬性

private int t1, t2, t3, t4, count = 0;

private int x1, y1, x2, y2;// 坐標

private Shape shape;// 聲明圖形對象名

private Shape[] shapeArray;// 聲明存儲圖形對象的數組對象名屬性

private int number = 0;// 記錄數器,用來記錄已經存儲的圖形個數。

private JPanel panel4;

Random r = new Random();

public BasicStroke s1;// 畫筆大小

BasicStroke s = new BasicStroke();

/**

* 1 構造方法

*

* @param g是從DrawMain類的窗體上傳遞過來的畫筆對象

* @param shapeArray是從DrawMain類傳遞過來的存儲圖形的數組對象

*/

public DrawListenerner(JPanel panel4, Shape[] shapeArray) {

this.panel4 = panel4;

this.shapeArray = shapeArray;

}

public void setG(Graphics g) {

this.g = g;

}

/**

* 重寫ActionListener接口中的actionPerformed抽象方法。

*/

public void actionPerformed(ActionEvent e) {

JButton button = (JButton) e.getSource();// 獲取事件源對象

String text = button.getText();// 獲取按鈕上的文字信息

if (text == null || text.equals("")) {// 判斷是否點擊的是顏色按鈕

color = button.getBackground();// 獲取按鈕的背景顏色

System.out.println("color = " + color);

} else {

type = button.getText();// 獲取按鈕上的文字信息

System.out.println("text = " + text);

}

}

/**

* 當你在事件源對象上發生鼠標按鍵按下動作時執行此方法

*/

public void mousePressed(MouseEvent e) {

// 2.在重寫的按下動作和釋放動作的事件處理方法中,在按下方法中獲取按下坐標值

x1 = e.getX();

y1 = e.getY();

// //設置畫筆的顏色

// g.setColor(color);

if (type.equals("吸管")) {

try {

x1 = e.getXOnScreen();

y1 = e.getYOnScreen();

// 創建一個機器人對象

Robot jiqiren = new Robot();

// 2.構造一個矩形區域,這個區域就是你要獲取顏色的區域

Rectangle rec = new Rectangle(x1, y1, 1, 1);

BufferedImage ima = jiqiren.createScreenCapture(rec);

// 3.獲取圖片的背景像素點顏色:三原色red blue green,獲取圖片指定像素點顏色

int a = ima.getRGB(0, 0);

color = new Color(a);

// 4.把顏色設置到畫筆上

} catch (AWTException e2) {

e2.printStackTrace();

}

}

}

/**

* 當你在事件源對象上發生鼠標按鍵釋放動作時執行此方法

*/

public void mouseReleased(MouseEvent e) {

// 2.在重寫的按下動作和釋放動作的事件處理方法中,在釋放方法中獲取釋放的坐標值;

x2 = e.getX();

y2 = e.getY();

// 2.之后根據按下和釋放的坐標值,以及圖形和顏色,使用Graphics來繪制對應的圖形。

if (type.equals("直線")) {

// // System.out.println(">>>>>" + g);

// g.drawLine(x1, y1, x2, y2);// 調用繪制直線的方法

// 根據數據來實例化圖形對象

shape = new ShapeLine(x1, y1, x2, y2, color, new BasicStroke(1));

// 調用圖形的繪圖方法

shape.draw((Graphics2D) g);

if (number < shapeArray.length) {

// 將圖形對象存入到數組中

shapeArray[number++] = shape;

}

} else if (type.equals("任意多邊形")) {

if (count == 0) {

shape = new ShapeLine(x1, y1, x2, y2, color, new BasicStroke(1));

// 調用圖形的繪圖方法

shape.draw((Graphics2D) g);

count++;

t1 = x1;

t2 = y1;

}

else if (count != 0) {

shape = new ShapeLine(t3, t4, x2, y2, color, new BasicStroke(1));// 點擊鼠標該點與前一個點相連

// 調用圖形的繪圖方法

shape.draw((Graphics2D) g);

if (e.getClickCount() == 2) {// 雙擊鼠標則閉合線段,該最新的點與最早的點相連接,閉合圖形

shape = new ShapeLine(t1, t2, x2, y2, color, new BasicStroke(1));

shape.draw((Graphics2D) g);

count = 0;

}

// 記錄目前該點的位置

}

t3 = x2;

t4 = y2;

if (number < shapeArray.length) {

shapeArray[number++] = shape;

}

} else if (type.equals("圓角矩形")) {

shape = new ShapeRoundRect(Math.min(x1, x2), Math.min(y1, y2),

Math.abs(x1 - x2), Math.abs(y1 - y2), color,

new BasicStroke(), 30, 30);

shape.draw((Graphics2D) g);

if (number < shapeArray.length) {

// 將圖形對象存入到數組中

shapeArray[number++] = shape;

}

} else if (type.equals("填充圓")) {

shape = new ShapeCircle(x1, y1, x2, y2, color, s);

shape.draw((Graphics2D) g);

if (number < shapeArray.length) {

// 將圖形對象存入到數組中

shapeArray[number++] = shape;

}

} else if (type.equals("五角星")) {

shape = new ShapeStar(x1, y1, x2, y2, color, s);

shape.draw((Graphics2D) g);

System.out.println(">>>>>>>>>"+x1+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+y1);

if (number < shapeArray.length) {

// 將圖形對象存入到數組中

shapeArray[number++] = shape;

}

}

}

/**

* 當鼠標在窗體上按下按鍵并且拖動時執行此方法

*/

public void mouseDragged(MouseEvent e) {

x2 = e.getX();

y2 = e.getY();

Graphics2D g2d = (Graphics2D) g;

if (type.equals("鉛筆")) {

// 根據數據來實例化圖形對象

shape = new ShapeLine(x1, y1, x2, y2, color, new BasicStroke(1));

// 調用圖形的繪圖方法

shape.draw((Graphics2D) g);

if (number < shapeArray.length) {

// 將圖形對象存入到數組中

shapeArray[number++] = shape;

}

x1 = x2;

y1 = y2;

} else if (type.equals("刷子")) {

// 根據數據來實例化圖形對象

shape = new ShapeLine(x1, y1, x2, y2, color, new BasicStroke(10));

// 調用圖形的繪圖方法

shape.draw((Graphics2D) g);

if (number < shapeArray.length) {

// 將圖形對象存入到數組中

shapeArray[number++] = shape;

}

x1 = x2;

y1 = y2;

} else if (type.equals("噴槍")) {

g2d.setColor(color);

shape = new ShapeGum(x1, y1, x2, y2, color, s);

shape.draw((Graphics2D) g);

if (number < shapeArray.length) {

// 將圖形對象存入到數組中

shapeArray[number++] = shape;

}

x1 = x2;

y1 = y2;

} else if (type.equals("橡皮")) {

shape = new ShapeEraser(x1, y1, x2, y2, color, s);

shape.draw((Graphics2D) g);

if (number < shapeArray.length) {

// 將圖形對象存入到數組中

shapeArray[number++] = shape;

}

x1 = x2;

y1 = y2;

} else if (type.equals("圖片")) {

shape = new ShapeImage(color, x1, y1, x2, y2);

shape.draw((Graphics2D) g);

if (number < shapeArray.length) {

// 將圖形對象存入到數組中

shapeArray[number++] = shape;

}

} else if (type.equals("填充矩形")) {

shape = new ShapeFillRect(Math.min(x1, x2), Math.min(y1, y2),

Math.abs(x1 - x2), Math.abs(y1 - y2), color,

new BasicStroke(1));

shape.draw((Graphics2D) g);

if (number < shapeArray.length) {

// 將圖形對象存入到數組中

shapeArray[number++] = shape;

}

} else if (type.equals("文字")) {

shape = new ShapeString(x1, y1, x2, y2, color, s);

shape.draw((Graphics2D) g);

if (number < shapeArray.length) {

// 將圖形對象存入到數組中

shapeArray[number++] = shape;

}

} else if (type.equals("3d矩形")) {// 7.3d矩形

shape = new Shape3DRect(x1, y1, x2, y2, color, s);

shape.draw((Graphics2D) g);

if (number < shapeArray.length) {

// 將圖形對象存入到數組中

shapeArray[number++] = shape;

}

}

}

/**

* 當鼠標在窗體上移動鼠標時執行此方法

*/

public void mouseMoved(MouseEvent e) {

}

/**

* 當你在事件源對象上發生鼠標點擊(按下和釋放的動作必須在同一個位置上)動作時執行此方法

*/

public void mouseClicked(MouseEvent e) {

}

/**

* 當你的鼠標光標進入事件源對象上時執行此方法

*/

public void mouseEntered(MouseEvent e) {

}

/**

* 當你的鼠標光標離開事件源對象上時執行此方法

*/

public void mouseExited(MouseEvent e) {

}

}

package SummerCamp6;

/**

* 定義Shape抽象類

*/

import java.awt.BasicStroke;

import java.awt.Color;

import java.awt.Graphics2D;

public abstract class Shape {

private int x1, y1, x2, y2;

private Color color;

private BasicStroke stroke;

public Shape(int x1, int y1, int x2, int y2, Color color, BasicStroke stroke) {

this.x1 = x1;

this.y1 = y1;

this.x2 = x2;

this.y2 = y2;

this.color = color;

this.stroke = stroke;

}

/**

* 繪制圖形的方法

*

* @param g畫筆對象

*/

public abstract void draw(Graphics2D g);

public int getX1() {

return x1;

}

public void setX1(int x1) {

this.x1 = x1;

}

public int getY1() {

return y1;

}

public void setY1(int y1) {

this.y1 = y1;

}

public int getX2() {

return x2;

}

public void setX2(int x2) {

this.x2 = x2;

}

public int getY2() {

return y2;

}

public void setY2(int y2) {

this.y2 = y2;

}

public Color getColor() {

return color;

}

public void setColor(Color color) {

this.color = color;

}

public BasicStroke getStroke() {

return stroke;

}

public void setStroke(BasicStroke stroke) {

this.stroke = stroke;

}

}

//3d矩形類

package SummerCamp6;

import java.awt.BasicStroke;

import java.awt.Color;

import java.awt.Graphics2D;

public class Shape3DRect extends Shape{

public Shape3DRect(int x1, int y1, int x2,int y2, Color color, BasicStroke s) {

super(x1, y1, x2, y2, color,s);

}

public void draw(Graphics2D g){

g.setStroke(g.getStroke());

g.setColor(getColor());// 設置畫筆顏色

g.fill3DRect(getX1(), getY1(), getX2() - getX1(), getY2() - getY1(), true);

}

}

//填充圓類

package SummerCamp6;

import java.awt.BasicStroke;

import java.awt.Color;

import java.awt.Graphics2D;

public class ShapeCircle extends Shape {

public ShapeCircle(int x1, int y1, int x2, int y2, Color color,

BasicStroke s) {

super(x1, y1, x2, y2, color, s);

}

public void draw(Graphics2D g) {

g.setStroke(g.getStroke());// 畫筆大小

g.setColor(getColor());// 設置畫筆顏色

g.fillOval(getX1(), getY1(), getX2() - getX1(), getY2() - getY1());// 繪制圓的方法

}

}

//橡皮類

package SummerCamp6;

import java.awt.BasicStroke;

import java.awt.Color;

import java.awt.Graphics2D;

import javax.swing.JFrame;

public class ShapeEraser extends Shape{

public ShapeEraser(int x1, int y1, int x2, int y2, Color color, BasicStroke s) {

super(x1, y1, x2, y2,color,s);

}

public void draw(Graphics2D g){

g.setStroke(new BasicStroke(20));// 橡皮大小

JFrame frame = new JFrame();

g.setColor(frame.getBackground());

g.drawLine(getX1(),getY1(),getX2(),getY2());

}

}

//填充矩形類

package SummerCamp6;

import java.awt.BasicStroke;

import java.awt.Color;

import java.awt.Graphics2D;

/**

* 定義ShapeRect類,該類是用來繪制矩形的類

*/

public class ShapeFillRect extends Shape {

public ShapeFillRect(int x1, int y1, int x2, int y2, Color color,

BasicStroke s) {

super(x1, y1, x2, y2, color, s);

}

/**

* 繪制圖形的方法

*

* @param g畫筆對象

*/

public void draw(Graphics2D g) {

g.setStroke(getStroke());// 設置畫筆的粗細

g.setColor(getColor());// 設置畫筆的顏色

g.fillRect(getX1(), getY1(), getX2(), getY2());// 繪制矩形

}

}

//噴槍類

package SummerCamp6;

import java.awt.BasicStroke;

import java.awt.Color;

import java.awt.Graphics2D;

import java.util.Random;

public class ShapeGum extends Shape{

Random r = new Random();

public ShapeGum(int x1, int y1, int x2, int y2,Color color,BasicStroke stroke) {

super(x1, y1, x2, y2, color, stroke);

}

public void draw(Graphics2D g){

g.setStroke(new BasicStroke(1));

g.setColor(g.getColor());

g.drawLine(getX2(),getY2 (),getX2(),getY2());

for (int i = 0; i < 10; i++) {

int p = r.nextInt(10);

int q = r.nextInt(10); // 可以生成一個介于0(包含)到n(不包含)之間的整數

// nextInt(10)生成的就是0~10之間的隨機數,包含0和10

g.drawLine(getX2() + p, getY2() + q, getX2() + p, getY2() + q);

}

}

}

//圖片類

package SummerCamp6;

import java.awt.Color;

import java.awt.Graphics2D;

import javax.swing.ImageIcon;

public class ShapeImage extends Shape{

public ShapeImage(Color color, int x1, int y1, int x2, int y2) {

super(x1, y1, x2, y2, null,null);

}

public void draw(Graphics2D g){

ImageIcon im = new ImageIcon("C:\\Users\\某某\\Desktop\\路線\\1.jpg");// 畫出圖片

g.drawImage(im.getImage(), getX1(), getY1(), getX2() - getX1(), getY2() - getY1(), null);// 釋放鼠標畫出圖片

}

}

/**

* 定義ShapeLine類,該類是用來繪制直線的類

*/

package SummerCamp6;

import java.awt.BasicStroke;

import java.awt.Color;

import java.awt.Graphics2D;

public class ShapeLine extends Shape {

public ShapeLine(int x1, int y1, int x2, int y2, Color color,

BasicStroke stroke) {

super(x1, y1, x2, y2, color, stroke);

}

/**

* 繪制圖形的方法

*

* @param g畫筆對象

*/

public void draw(Graphics2D g) {

g.setStroke(getStroke());// 設置畫筆的粗細

g.setColor(getColor());// 設置畫筆的顏色

g.drawLine(getX1(), getY1(), getX2(), getY2());// 繪制直線

}

}

/**

* 定義ShapeRoundRect類,該類是用來繪制圓角矩形的類

*/

package SummerCamp6;

import java.awt.BasicStroke;

import java.awt.Color;

import java.awt.Graphics2D;

/**

* 定義ShapeRoundRect類,該類是用來繪制圓角矩形的類

*/

public class ShapeRoundRect extends Shape {

private int arcH, arcW;

public ShapeRoundRect(int x1, int y1, int x2, int y2, Color color,

BasicStroke s, int arcH, int arcW) {

super(x1, y1, x2, y2, color, s);

this.arcH = arcH;

this.arcW = arcW;

}

/**

* 繪制圖形的方法

*

* @param g畫筆對象

*/

public void draw(Graphics2D g) {

g.setStroke(getStroke());// 設置畫筆的粗細

g.setColor(getColor());// 設置畫筆的顏色

g.drawRoundRect(getX1(), getY1(), getX2(), getY2(), arcW, arcH);// 繪制矩形

}

}

//五角星類

package SummerCamp6;

import java.awt.BasicStroke;

import java.awt.Color;

import java.awt.Graphics2D;

public class ShapeStar extends Shape {

private int x,y;

private int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, b1, b2, b3, b4, b5,

b6, b7, b8, b9, b10;

public ShapeStar(int x1, int y1, int x2, int y2, Color color, BasicStroke s) {

super(x1, y1, x2, y2,color,s);

}

public void draw(Graphics2D g){

g.setStroke(new BasicStroke());// 畫筆大小

g.setColor(getColor());//設置畫筆顏色

x = (Math.abs(getX2()-getX1())) / 8;

y = (Math.abs(getY2()-getY1())) / 8;

a1 = getX1() + 4 * x;

b1 = getY1() + y;

a2 = getX1();

b2 = getY1() + 3 * y;

a3 = getX1() + 8 * x * 2 / 6;

b3 = getY1() + 3 * y;

a4 = getX1() + 8 * x * 4 / 6;

b4 = getY1() + 3 * y;

a5 = getX2();

b5 = getY1()+ 3 * y;

a6 = getX1() + 4 * x / 2;

b6 = getY1() + 4 * y;

a7 = getX1() + 6 * x;

b7 = getY1() + 4 * y;

a8 = getX1() + 4 * x;

b8 = getY1() + 8 * y * 2 / 3;

a9 = getX1();

b9 = getY2();

a10 = getX2();

b10 = getY2();

g.drawLine(a1, b1, a3, b3);

g.drawLine(a1, b1, a4, b4);

g.drawLine(a2, b2, a3, b3);

g.drawLine(a2, b2, a6, b6);

// g.drawLine(a3, b3, a4, b4);

// g.drawLine(a3, b3, a6, b6);

g.drawLine(a4, b4, a5, b5);

// g.drawLine(a4, b4, a7, b7);

g.drawLine(a5, b5, a7, b7);

// g.drawLine(a6, b6, a8, b8);

g.drawLine(a6, b6, a9, b9);

g.drawLine(a7, b7, a10, b10);

// g.drawLine(a7, b7, a8, b8);

g.drawLine(a8, b8, a10, b10);

g.drawLine(a8, b8, a9, b9);

}

}

//文字類

package SummerCamp6;

import java.awt.BasicStroke;

import java.awt.Color;

import java.awt.Graphics2D;

public class ShapeString extends Shape{

private String str="彈個吉他";

public ShapeString(int x1, int y1, int x2, int y2, Color color, BasicStroke s) {

super(x1, y1, x2, y2,color,s);

}

public void draw(Graphics2D g){

g.setStroke(new BasicStroke());// 畫筆大小

g.setColor(getColor());//設置畫筆顏色

g.drawString(str, getX1(), getY1());// 5.文字

}

}

實現效果:

開始畫圖,后臺顯示按鍵

令畫圖板最大化,圖形沒有消失

代碼段中夾有注釋,非常生動形象,所以我就不一一再寫出來解釋了哈。

最后我們就把一個功能完好的畫圖板完成了,是不是很簡單丫,有沒有心動的感覺,想不想寫一個丫,趕快動手吧少年。

我get到的實現畫圖板和重繪(用數組保存圖形)的技能就差不多是這些了,如果以后又get到一些進階技能我會在技術博客更新的哈,么么噠。

總結

以上是生活随笔為你收集整理的java画笔覆盖在界面_Java实现画图程序和重绘的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

四虎天堂| www.狠狠干 | 国产 日韩 在线 亚洲 字幕 中文 | 国产一卡久久电影永久 | 国内久久久久久 | 久久高清毛片 | 久久久官网 | 美女国内精品自产拍在线播放 | 欧美婷婷色 | 国产精品porn | 天天拍天天爽 | 五月婷婷在线视频观看 | 在线a视频免费观看 | 国产中文字幕视频在线观看 | 亚洲九九九在线观看 | av免费黄色| 91亚洲欧美激情 | 国产黄色理论片 | 五月花丁香婷婷 | 中文字幕在线视频网站 | 五月天婷婷在线观看视频 | 国产香蕉视频在线播放 | 少妇bbb好爽| 国内久久久 | 欧美国产一区二区 | 久久草精品| 国产日韩欧美中文 | 97视频在线免费观看 | 在线观看免费av网 | 伊人影院99 | 2018亚洲男人天堂 | 少妇搡bbbb搡bbb搡69 | 玖玖玖在线观看 | 超碰97免费在线 | 免费男女羞羞的视频网站中文字幕 | 日韩在线中文字幕 | 蜜臀av性久久久久蜜臀av | 狠狠操导航 | 97色在线视频 | 亚洲第一av在线播放 | 日本三级中文字幕在线观看 | www夜夜操| 91中文在线观看 | 国产精品久久久久9999 | 日韩r级在线 | 国内精品久久久久久久影视麻豆 | 天天操天天干天天摸 | 国产精品区在线观看 | 四虎国产免费 | 色综合天天综合网国产成人网 | 久久国产精品一区二区三区 | 国产成人香蕉 | 国产a高清 | 99re6热在线精品视频 | 亚洲精品免费在线观看视频 | 超碰在线观看av | 最近中文国产在线视频 | 中文字幕永久免费 | 日韩av免费大片 | 国产999精品久久久久久麻豆 | 国产亚洲精品久 | 黄色av一区二区 | 日韩一二区在线观看 | 国产福利午夜 | av怡红院| 黄色免费网站大全 | 黄色影院在线观看 | 超碰97人人在线 | 天天操天天操天天操天天操 | 91豆麻精品91久久久久久 | 免费在线成人av | 成片免费观看视频大全 | 亚洲人人爱 | 国产超碰在线 | 亚洲九九爱 | 99在线精品视频 | 久久av网址 | 精品美女久久 | 精品在线视频一区 | 亚洲经典视频在线观看 | 国产资源站 | 久久久久久片 | 亚洲成人家庭影院 | 亚洲精品视频一二三 | 黄色毛片在线 | 国产精品久久久久一区二区三区共 | 91丨九色丨高潮 | 国产日产精品一区二区三区四区 | 91精品视频免费观看 | 日韩在线第一区 | 免费在线黄 | av黄在线播放| 91桃花视频 | 欧美久久久久久久久久 | 激情网在线视频 | 福利区在线观看 | 欧美日韩国产亚洲乱码字幕 | 涩涩网站在线看 | 国产一级不卡视频 | 日韩综合在线观看 | 国产精品剧情 | 午夜黄色一级片 | 狠狠ri | 狠狠干夜夜操天天爽 | 国产精品久久久久久久久久久久久久 | 欧美色综合天天久久综合精品 | 国产一级二级在线观看 | aaa日本高清在线播放免费观看 | 亚洲在线视频播放 | 五月婷网站 | 国产在线探花 | 成片免费观看视频大全 | 99国产精品视频免费观看一公开 | 99国产精品一区二区 | 天天综合在线观看 | 国产一区二区手机在线观看 | 人人爽人人澡人人添人人人人 | 黄色日本免费 | 亚洲国产精品成人av | 久久你懂得 | 一区二精品| 深夜国产福利 | 婷婷丁香在线观看 | 欧美日韩一级久久久久久免费看 | 久久色网站| 日韩理论片在线观看 | 亚洲另类在线视频 | 在线影视 一区 二区 三区 | 久久只精品99品免费久23小说 | 精品久久影院 | 天天色天天上天天操 | 极品久久久久久久 | 欧美日韩在线观看不卡 | 色综合天天色综合 | 欧美激情综合五月色丁香小说 | 精品国产一区二区三区在线 | 成人免费观看av | 免费看黄色毛片 | a天堂最新版中文在线地址 久久99久久精品国产 | 亚洲精品国产综合99久久夜夜嗨 | 一区二区三区四区不卡 | 日韩一区二区三区免费视频 | 日韩一级黄色av | 96久久 | 成人免费在线视频观看 | 国产精品免费在线播放 | 国产无遮挡又黄又爽在线观看 | 丁香婷婷综合五月 | 97国产一区二区 | 免费看一级特黄a大片 | 亚洲一区av | 久久无码av一区二区三区电影网 | 在线激情影院一区 | 视频在线观看入口黄最新永久免费国产 | 国产一级二级在线 | 久久五月婷婷丁香 | 日韩理论电影在线 | 日韩免费视频在线观看 | 色噜噜在线观看视频 | 91丨porny丨九色 | 国产伦理久久精品久久久久_ | av在线播放国产 | 中文字幕乱偷在线 | 日韩中文字幕在线观看 | 2021av在线 | 91精品国产91 | 综合五月| 国产精品久久久久久超碰 | 国产亚洲精品久久久久久久久久久久 | 亚洲欧美日韩在线一区二区 | 天天狠狠干 | 国产免费xvideos视频入口 | 成人资源在线观看 | 超碰日韩在线 | 人人射人人插 | 探花视频在线观看免费版 | 国产精品网址在线观看 | 奇米网网址 | 日韩精品一区电影 | 欧美日韩免费观看一区二区三区 | 日韩videos| 亚洲精品一区二区三区高潮 | 91秒拍国产福利一区 | 六月丁香激情网 | 亚洲成人黄色在线观看 | 福利一区在线视频 | av福利网址导航 | 色吧av色av | 人人澡人摸人人添学生av | 国产综合精品一区二区三区 | 国产精品毛片一区视频播不卡 | 欧美日韩二区三区 | 国产精品美女久久久久久 | 午夜婷婷综合 | 久久午夜免费观看 | 免费在线观看av片 | 国产精品免费观看久久 | 激情视频综合网 | 久久99国产精品久久 | www.久久爱.cn | 91片网| 国产一级黄色电影 | 久久久久久国产精品美女 | 九九热只有精品 | 丰满少妇一级片 | 97视频播放 | 日本黄色a级大片 | 不卡av电影在线观看 | 九九九九九精品 | 成人三级网址 | 国产精品美女久久久 | 九九涩涩av台湾日本热热 | 婷婷久久国产 | 999国内精品永久免费视频 | 久草观看| 黄色精品国产 | av888av.com| 国产人免费人成免费视频 | 天天干天天操天天操 | 日韩久久网站 | 亚洲精品高清一区二区三区四区 | 9在线观看免费高清完整 | 在线观看av不卡 | 国产成人在线网站 | 久久精品美女视频网站 | 综合久久久久久久 | 伊人色综合网 | 亚洲精品久久久久久久不卡四虎 | 中文字幕资源网 国产 | 成人超碰在线 | 日本婷婷色| 99久久精品免费看国产四区 | 又黄又爽又刺激 | 久草在线视频资源 | 欧美精品久久久久久久久久丰满 | 4p变态网欧美系列 | 最近日本韩国中文字幕 | 欧美一级片在线观看视频 | 91黄色在线视频 | 超碰在线99 | 日本在线观看视频一区 | 探花系列在线 | 99人久久精品视频最新地址 | 91精品91 | 视频在线91 | 一区 在线观看 | 不卡的一区二区三区 | 国产精品入口久久 | 成人在线观看av | 精品久久久久久久久久久院品网 | 免费观看国产精品视频 | 韩国视频一区二区三区 | 成人免费xyz网站 | 蜜桃av人人夜夜澡人人爽 | 国产99久久久精品视频 | 日韩精品久久久久久 | 久草精品视频在线看网站免费 | 精品你懂的 | 亚洲五月 | 青青色影院 | 日韩电影中文,亚洲精品乱码 | 91精品啪在线观看国产81旧版 | 欧美不卡视频在线 | 日韩美女av在线 | 探花视频在线观看免费版 | 超碰人人在线观看 | 99久热在线精品视频成人一区 | 91中文在线视频 | 特级a老妇做爰全过程 | 中文字幕在线观看完整 | 欧美精品九九99久久 | 在线播放视频一区 | 亚洲最新视频在线播放 | 天天干,天天射,天天操,天天摸 | 亚洲综合在线观看视频 | 成人中文字幕+乱码+中文字幕 | 久久综合国产伦精品免费 | 国内少妇自拍视频一区 | 91亚洲精品久久久蜜桃 | 亚洲欧洲日韩 | 婷婷网在线 | 成年人视频在线免费播放 | 成人在线观看你懂的 | 亚洲六月丁香色婷婷综合久久 | 五月天电影免费在线观看一区 | 在线免费视频一区 | 91爱爱免费观看 | 精品夜夜嗨av一区二区三区 | 在线免费观看一区二区三区 | 中文字幕精品在线 | 99热日本 | 国产精品精品久久久 | 久久久久久国产精品999 | 欧美激情精品久久久久久变态 | 免费观看第二部31集 | 亚洲播播 | 午夜电影av | 一区二区三区免费播放 | 久精品在线 | 精品国产成人av在线免 | 天天干天天操天天 | 国产美女久久久 | 国产视频 久久久 | 色网站国产精品 | 国产成人久久精品 | 天天操天天怕 | 国产小视频网站 | 午夜视频在线观看一区二区 | 日本亚洲国产 | 欧美另类美少妇69xxxx | 黄色91免费观看 | 成人网大片 | 欧美成人性战久久 | 精品国产91亚洲一区二区三区www | 天天干天天在线 | japanese黑人亚洲人4k | 国产成人免费av电影 | 免费av在| 五月婷香 | 久久影视精品 | 99精品在线免费 | 五月婷婷综合在线观看 | 国产精品欧美日韩在线观看 | 国产精品免费久久久久影院仙踪林 | 国产自产高清不卡 | 亚洲狠狠操 | 久久久精品一区二区 | 二区三区在线视频 | 日韩一二区在线观看 | 中国成人一区 | 国产福利在线免费 | 久久精品一区二区三 | 国产免费久久av | 黄色片视频免费 | 欧美成人在线网站 | 国产午夜三级一二三区 | 中文字幕亚洲精品在线观看 | 日韩精品中文字幕久久臀 | 国产97超碰 | 久久av影视 | 91精品网站在线观看 | 天干啦夜天干天干在线线 | 中国一区二区视频 | 97色噜噜| 久久精品国产精品亚洲 | 国产专区视频在线观看 | 国产精品一区二区三区四 | 久草在线视频免费资源观看 | 色姑娘综合天天 | 日韩v在线91成人自拍 | 国产精品一二三 | 在线观看免费av网站 | 五月婷婷欧美 | 狠狠干狠狠艹 | 久久久精品高清 | 国产一级黄 | 成年人黄色在线观看 | 成人久久精品 | 欧美成人中文字幕 | 国产69精品久久久久9999apgf | 永久免费精品视频网站 | 国产精品专区在线 | 婷婷伊人网 | 日韩a在线播放 | 中文在线免费看视频 | 亚洲久在线 | 婷婷激情五月综合 | 国产精品一区久久久久 | 岛国大片免费视频 | www.色五月.com | 国产精品美女久久久久aⅴ 干干夜夜 | 特级a老妇做爰全过程 | 午夜精品剧场 | 99av在线视频| 国产成人精品久 | av免费在线看网站 | 蜜桃视频在线观看一区 | 国产精品午夜在线观看 | av永久网址 | 日本99热 | 九色在线视频 | av电影在线免费观看 | 超碰人人草人人 | 亚洲专区 国产精品 | 天天插天天操天天干 | 国产亚洲精品久久 | 人人射人人射 | 中文字幕av在线免费 | 日韩福利在线观看 | 99视频久| 国产麻豆精品一区 | 精品视频97 | 久久精品久久久久久久 | 国产一级在线播放 | 日韩小视频网站 | 免费成人在线观看视频 | 日本精品一区二区在线观看 | 狠狠狠狠狠狠狠狠干 | 国产成人久久精品一区二区三区 | 婷婷视频在线播放 | 国产精品一区免费在线观看 | 在线观看爱爱视频 | 99久久精品日本一区二区免费 | 亚洲精品资源在线观看 | 视频成人永久免费视频 | 久久国产精品影视 | 激情中文在线 | 日本精品在线 | 久久精品国产亚洲 | 97色噜噜| 亚洲精品久 | 成人精品一区二区三区中文字幕 | 中文字幕影视 | 在线中文字幕av观看 | 久久综合久色欧美综合狠狠 | 黄色91在线观看 | 日韩免费看视频 | 国产视频美女 | 丁香婷婷综合网 | 国产成人免费高清 | 国产亚洲精品久久久久久网站 | 国产伦精品一区二区三区在线 | 色综合a| 国产区在线视频 | 国产91综合一区在线观看 | 日韩二区在线观看 | 98精品国产自产在线观看 | 久久免费黄色大片 | 麻豆系列在线观看 | 亚州精品在线视频 | 97精品在线观看 | 国产区av在线| 69视频在线 | 午夜视频免费在线观看 | 久久亚洲福利视频 | 欧美性受极品xxxx喷水 | 久久99深爱久久99精品 | 最新av网站在线观看 | 精品久久一区二区三区 | 黄色一级在线免费观看 | 国产精品9区 | 国产高清在线视频 | 91aaa在线观看| 日日操天天射 | 五月婷网 | 亚洲欧美偷拍另类 | 黄av资源 | av免费电影在线观看 | 国产午夜精品一区二区三区四区 | 激情av在线资源 | 亚洲无线视频 | av大片免费在线观看 | 亚洲一区二区三区在线看 | 国产精品美女在线观看 | 成人在线视频免费观看 | 亚洲精品乱码久久久久久写真 | 久久99在线视频 | 日本精品中文字幕在线观看 | 久草国产精品 | 美女网站久久 | 欧美精品国产综合久久 | 中文字幕在线观看完整版电影 | 在线电影中文字幕 | 欧美国产不卡 | 久久婷婷亚洲 | 91欧美国产| 午夜的福利 | 成人动图| 一本一本久久a久久精品综合妖精 | 人人讲 | 日韩免费看视频 | 日本久久久久久久久久 | 成人在线免费视频 | 天天干天天操天天入 | 久久久男人的天堂 | 成人一级片在线观看 | 国产一级片网站 | 天堂av在线网 | 久久婷婷一区二区三区 | 99精品国产99久久久久久福利 | 国产婷婷久久 | 亚洲欧洲中文日韩久久av乱码 | 人人澡人人爽欧一区 | 国内精品久久影院 | 开心激情网五月天 | 国产午夜精品福利视频 | 亚洲一区日韩 | 成人aⅴ视频| 91麻豆精品国产91久久久久久 | 国色综合 | 在线观看第一页 | 国产在线精品国自产拍影院 | 免费观看成人av | 日韩精品免费专区 | 国产一区二区在线免费 | 97超碰超碰 | www国产亚洲| 蜜臀av性久久久久蜜臀aⅴ流畅 | 亚洲一区二区三区四区在线视频 | 中文字幕在线观看一区 | 国内视频1区 | 韩日三级av | 久久黄色免费观看 | 成人av在线播放网站 | 日本公妇在线观看高清 | 99久久久久久久久久 | 色妞色视频一区二区三区四区 | 999精品网 | 久久久久久久久久久久亚洲 | 日本丶国产丶欧美色综合 | 久久久久国产精品午夜一区 | 国产亚洲欧美在线视频 | 久久精品视频中文字幕 | 精品国产成人av在线免 | 欧美一级艳片视频免费观看 | 久久系列 | 国产偷国产偷亚洲清高 | 国产免费专区 | 激情五月婷婷综合网 | 一区二区三区精品在线视频 | 黄色网www| 人人模人人爽 | 色多多在线观看 | 久久午夜国产精品 | 午夜黄网| 久草视频在线看 | 亚洲精品乱码白浆高清久久久久久 | 日韩在线视频免费看 | 国产婷婷vvvv激情久 | 国产一级在线看 | 成人在线观看免费视频 | 麻豆一精品传二传媒短视频 | 国产精品自产拍 | 亚洲美女视频网 | 亚洲精品乱码久久 | zzijzzij亚洲成熟少妇 | 午夜免费福利视频 | 亚洲三级黄 | 三级av网 | 免费网址在线播放 | 视频一区在线免费观看 | 成人黄色毛片视频 | 国产一级a毛片视频爆浆 | 亚洲最新精品 | 狠狠的干狠狠的操 | 日韩欧美在线中文字幕 | 久久久久北条麻妃免费看 | 在线91视频| 国产亚洲精品久久 | 久久一区91 | 91在线免费播放视频 | 日韩久久久久久久久久久久 | 五月婷婷播播 | 婷婷久久一区 | 一区二区三区四区五区在线 | 国产手机精品视频 | 不卡电影免费在线播放一区 | 精品国产91亚洲一区二区三区www | 夜夜干夜夜 | 欧美一级视频免费看 | 天天爽天天碰狠狠添 | 91自拍成人 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 91免费观看视频网站 | 亚洲不卡av一区二区三区 | 美女视频黄免费的久久 | 超碰在线9| 麻豆国产网站入口 | 日韩免费一区二区三区 | 97av视频在线观看 | 9999国产| 国产成人综合在线观看 | 久久精品久久精品久久精品 | 久九视频 | 99精品一区二区三区 | 中文字幕网址 | 天天综合网 天天 | 中文av网站 | 国产色在线观看 | 色多多污污在线观看 | 久久专区| 在线成人免费 | 久久综合偷偷噜噜噜色 | 黄色官网在线观看 | 91人人揉日日捏人人看 | 精品久久久久久久久中文字幕 | 天天av在线播放 | 亚洲欧美成人综合 | 五月天婷婷视频 | a在线观看免费视频 | 99久久精品免费一区 | 国产精品久久久久久久电影 | 久久免费看毛片 | 在线免费观看黄色 | 日韩精品一区二区三区免费观看 | 99久久婷婷国产综合精品 | 欧美a级成人淫片免费看 | 久久久久久久综合色一本 | 九九综合久久 | 国产免费影院 | 成人四虎 | 免费在线电影网址大全 | 久久久人人人 | 国产v亚洲v| 黄色三级免费网址 | 久草网在线视频 | 精品久久久免费 | 色综合久久99 | 午夜性生活 | 性色va| 在线免费色 | 久久成人精品视频 | 最近免费中文视频 | 日日摸日日添夜夜爽97 | 欧美一级免费 | 天天爱av导航 | 色综合网在线 | 国产日韩欧美综合在线 | 国产福利一区二区三区在线观看 | 99精品视频观看 | 国产午夜精品理论片在线 | 超碰在线91| 亚洲 中文 在线 精品 | 91在线看视频免费 | 狠狠色丁香婷婷综合久小说久 | 日本精品久久久久中文字幕5 | 丁香婷婷激情啪啪 | 亚洲国产成人在线观看 | 日韩av片无码一区二区不卡电影 | adn—256中文在线观看 | 五月宗合网 | 国产一区二区三区免费在线 | 成人免费共享视频 | 日韩午夜精品 | 亚洲在线视频观看 | 亚洲片在线资源 | 亚洲夜夜综合 | 久久日本视频 | 四虎永久精品在线 | 人人插人人舔 | 日批在线观看 | 少妇18xxxx性xxxx片 | 涩涩网站在线观看 | 精品成人久久 | 日韩精品一区二区在线观看视频 | 日日麻批40分钟视频免费观看 | 天天鲁一鲁摸一摸爽一爽 | 亚洲免费公开视频 | 中文字幕一区二区三区四区在线视频 | 999国内精品永久免费视频 | 中文字幕最新精品 | 青春草视频在线播放 | 欧美日韩另类在线观看 | www久久久| 久久免费毛片视频 | 黄色软件在线观看免费 | 精品理论片 | 黄色毛片在线观看 | 欧美精品一区二区免费 | 精品一区二区三区四区在线 | 久久草精品 | 久久一级片| 中文字幕一区二区三区视频 | 在线国产一区二区三区 | 成人黄色在线视频 | 国产高清第一页 | 精品视频国产 | 看污网站 | 在线99热| 六月丁香激情网 | 不卡的av在线 | 欧美精品在线观看免费 | a国产精品 | 久久激情小说 | 超碰在线cao | 草樱av | 色综合天天狠天天透天天伊人 | 2022国产精品视频 | 国产精品久久久久久久久久妇女 | 国产免费一区二区三区网站免费 | 国产成人精品av在线观 | 国产精品美女在线 | 国产精品久久久久永久免费观看 | 日韩高清二区 | 成年人免费av | 一级特黄aaa大片在线观看 | 中文网丁香综合网 | 91精品国自产在线观看 | 国产永久网站 | 国产精品久久久久久久久免费看 | 99久久精品国产观看 | 国产在线观看午夜 | 精品国偷自产在线 | 天天做天天干 | 国产在线精品二区 | 国产一区二区三区高清播放 | 日韩精品视频在线观看网址 | 六月色婷 | 欧美日韩国产精品一区二区亚洲 | 国产在线精品观看 | 中文字幕日本电影 | 日韩天天操 | 国产成人av电影 | 婷婷综合导航 | 国产精品免费高清 | 免费高清看电视网站 | 久久艹综合 | 日本不卡一区二区三区在线观看 | 亚洲国产中文在线观看 | www欧美xxxx | 五月婷久 | 亚洲 综合 国产 精品 | 最近免费观看的电影完整版 | 中文字幕在线视频一区二区 | 欧美二区在线播放 | 国产精品久久二区 | 亚洲精品久久在线 | 国产一区黄色 | 97超碰人人 | 欧美精品在线观看 | 天天鲁天天干天天射 | 99综合久久 | 午夜久久网站 | 色婷婷www| 有没有在线观看av | 免费看三级黄色片 | 亚洲午夜av电影 | 国产精品国产毛片 | 精品国产乱码久久久久久浪潮 | 亚洲国产av精品毛片鲁大师 | 日韩视频一 | 婷婷丁香六月 | 国产一二三四在线视频 | 亚洲国产精品一区二区久久hs | 天天干.com| 国产黄色片一级 | 天天搞天天干 | 成人精品视频久久久久 | av丝袜制服| 欧美精品一区在线 | av电影免费在线播放 | 久久人人干 | 成年人看片网站 | 国产视频久久久久 | 欧美亚洲另类在线视频 | 欧美日韩中文国产一区发布 | 免费网站污 | 狠狠狠狠狠狠狠狠 | 日韩一区二区三区高清在线观看 | av中文字幕日韩 | 69国产盗摄一区二区三区五区 | 色噜噜日韩精品欧美一区二区 | 久久精品中文字幕一区二区三区 | 最近免费在线观看 | 久久久亚洲麻豆日韩精品一区三区 | 亚洲精品一区二区三区新线路 | 国产成人61精品免费看片 | av在线com| 456免费视频 | 成人一区二区三区在线 | 精品 一区 在线 | 国产三级午夜理伦三级 | 在线日韩视频 | 精品欧美小视频在线观看 | 黄色软件视频大全免费下载 | 日本黄区免费视频观看 | 啪啪资源 | 久艹在线免费观看 | 欧美精品在线观看免费 | 久久免费视频这里只有精品 | 精品一区二区在线看 | 天天av天天| 97av影院| 久久黄色网址 | 国产96在线观看 | 国产打女人屁股调教97 | 久草视频2| 天天操天天艹 | 国产69精品久久久久久久久久 | 香蕉视频在线免费 | 国产一区在线免费观看 | 成人黄色在线电影 | 久草视频观看 | 精品在线观看一区二区 | 欧美日韩国产三级 | 美女国内精品自产拍在线播放 | 中文字幕超清在线免费 | 亚洲久草在线视频 | 韩国三级在线一区 | 午夜av片 | 日本中文在线观看 | 欧美激情视频一区二区三区 | 久久久精品影视 | 国产又粗又硬又爽的视频 | 91热视频在线观看 | www黄色大片| 国产精品久久久久久久av电影 | 99久热在线精品视频观看 | 久久精品国产亚洲精品 | 国产一区二区日本 | 91av手机在线观看 | 人人插人人看 | 深爱婷婷久久综合 | 国产精品一区二区三区四 | 中文字幕在线免费观看视频 | 天天在线操| 91在线国产观看 | 天天射天天干天天 | 国产成人精品久久亚洲高清不卡 | 亚洲日本国产精品 | 97色狠狠 | 国产精品免费观看视频 | 国产免费观看久久黄 | 久久国产精品电影 | 久久久久久久久久久福利 | 亚洲黄色网络 | 国产视频一区精品 | 国产91亚洲精品 | 日韩试看| 欧美成人黄色 | 深爱激情开心 | 日韩免费福利 | 99av国产精品欲麻豆 | 国产香蕉视频在线播放 | 国产网红在线观看 | 精品国内自产拍在线观看视频 | 国产高清视频在线观看 | 欧美aaa视频 | 精品国产片 | 日日操天天爽 | 视频在线一区二区三区 | 久久久久中文字幕 | av手机版| 狠狠狠色丁香婷婷综合久久88 | 成人国产网站 | 亚洲精品美女在线观看播放 | 在线a亚洲视频播放在线观看 | 日韩国产欧美视频 | 免费在线观看av片 | 日韩一区二区免费在线观看 | 精品欧美在线视频 | 99免费在线视频观看 | 青春草视频在线播放 | 亚洲男男gⅴgay双龙 | 久久综合久久综合这里只有精品 | 玖玖国产精品视频 | 亚洲综合婷婷 | 91久久国产综合精品女同国语 | 久草在线综合网 | 在线黄色免费 | 91在线观看欧美日韩 | 久久精品一区二 | 欧美日韩国产成人 | 日本中文乱码卡一卡二新区 | 99久久精品一区二区成人 | 久久99在线视频 | 日韩成人免费观看 | 欧美一级xxxx| 九九免费在线看完整版 | 日日碰狠狠躁久久躁综合网 | 婷婷久月| 久久精品伊人 | 四虎影视8848aamm | 久久黄色片| 亚洲1区在线 | 99精品免费观看 | 天天舔天天搞 | 97免费中文视频在线观看 | 久久久69 | 色综合天天射 | 欧美日韩国产精品久久 | 色婷婷国产在线 | 精品国产视频在线观看 | 成年人网站免费在线观看 | 三级性生活视频 | 在线观看黄色的网站 | 久久精久久精 | 国产色拍 | 亚洲桃花综合 | 国产三级在线播放 | 亚洲国产一区二区精品专区 | 欧美在线久久 | 精品亚洲二区 | 最新国产精品拍自在线播放 | 国产美女被啪进深处喷白浆视频 | 国产精品久久久777 成人手机在线视频 | 一本一本久久a久久精品综合 | 中文字幕亚洲不卡 | 欧美 日韩精品 | 国产高清久久久 | 天操夜夜操 | 国产黄色在线网站 | 欧美一区二区免费在线观看 | 麻豆久久一区二区 | 91av在线电影| 在线免费黄色av | 免费合欢视频成人app | 欧美三级高清 | 天天搞天天干 | 国产精品专区h在线观看 | 国产精品美女久久久 | 超碰在线成人 | 国产午夜精品一区二区三区在线观看 | 中文字幕在线观看第二页 | av丝袜天堂 | 婷婷久久网| 狠狠色丁香婷婷综合久小说久 | 色网免费观看 | 天天干天天做天天操 | 成人日韩av| 日本91在线 | av资源免费看 | 日韩高清精品一区二区 | 色多多污污在线观看 | 在线看成人av | 午夜精品久久久久久久99婷婷 | 免费观看丰满少妇做爰 | 免费日韩 精品中文字幕视频在线 | 精品999久久久 | 日韩高清成人 | 91网址在线看 | 免费av的网站 | 免费观看9x视频网站在线观看 | 国产视频精品免费播放 | 久久国产成人午夜av影院宅 | 91在线操 | 欧美精品在线观看免费 | www.狠狠插.com| 色狠狠久久av五月综合 | 在线黄色av | 国产视频高清 | 国产精品一区二区美女视频免费看 | 亚洲午夜久久久久 | 免费看av片网站 | 99久久婷婷国产综合精品 | 欧美日韩久久不卡 | 狠狠色丁香久久婷婷综合_中 | a'aaa级片在线观看 | 日韩免费精品 | 亚洲aⅴ久久精品 | 精品国产成人在线 | 精品国产一区二区三区男人吃奶 | 手机成人av在线 | 日韩视频一区二区 | 激情在线免费视频 | 久久久久久久国产精品 | 精品国产一区二区三区久久久蜜臀 | 国产精品1区2区3区在线观看 | 亚洲人xxx| 日韩亚洲国产中文字幕 | 日韩在线观看小视频 | 久久国产精品久久精品 | 久久66热这里只有精品 | 国产乱码精品一区二区蜜臀 | 在线精品观看 | 男女啪啪视屏 | 91经典在线 | 婷婷深爱五月 | 成人免费视频免费观看 | 在线观看日韩一区 | 91一区二区三区在线观看 | 97国产电影 | 成人av高清 | 精品主播网红福利资源观看 | 精品国产乱码久久久久久1区二区 | 2023年中文无字幕文字 | 最近日本韩国中文字幕 | 国产日本亚洲 | 久久精品网站免费观看 | 久草精品国产 | 国产高清福利在线 | 丝袜美腿一区 | 国产精品免费久久久久影院仙踪林 | 久久国产精品影视 | 热re99久久精品国产66热 | 亚洲一级黄色片 | 欧美色图东方 | 激情五月综合 | av电影一区 | 日韩欧美在线中文字幕 | 久久精品一二三区 | 成人一区二区在线观看 | 在线观看国产v片 | 中文字幕在线观看视频一区二区三区 | 伊人日日干 | 99人成在线观看视频 | 亚洲理论电影 | 美女av电影 | 久久久99国产精品免费 | 男女精品久久 | av网站免费在线 | 成人97人人超碰人人99 | 国产专区视频在线观看 | av免费成人 | 人人干人人搞 | 综合色站 | 欧美日韩精品在线播放 | 国产一卡久久电影永久 |