精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

深入探究JFreeChart及實例解讀

開發 后端
這篇文章全面涵蓋了JFreeChart的入門知識,最后進行實例深入探究,想學習好JFreeChart的朋友們請認真看完。

一、簡 介

JFreeChart 是 SourceForge.net 上的一個開源項目,它的源碼和 API 都可以免費獲得。 JFreeChart 的功能非常強大,可以實現餅圖 ( 二維和三維 ) , 柱狀圖 ( 水平 , 垂直 ), 線圖 , 點圖 , 時序圖 , 甘特圖 , 股票行情圖 , 混和圖 , 溫度計圖 , 刻度圖等常用商用圖表, 圖形可以導出成 PNG 和 JPEG 格式,同時還可以與 PDF 和 EXCEL 關聯,支持對圖形的放大、縮小,支持常見圖形的 3D 顯示。

二、圖形對象的處理

1、 JFreeChart對象

JFreeChart 可以生成很多圖形對象,它的工廠類提供了 33 個工廠方法用于生成不同的圖形對象(具體的工廠方法可以參見 JFreeChart 的 API 手冊或者源碼中的 ChartFactory 類 )。 JFreechart 對圖形對象的抽象具體化。圖形對象( JFreeChart ),由 Title( 主標題 ) , SubTitle (子標題 ) , Plot (圖形的繪制結構)等幾個主要對象組成。各個組成部分如下圖所示:

這是一個 JFreeChart 對象,上面的“ chart 標題”是 Title 對象,中間區域是 Plot 對象(包括繪圖區域和坐標軸區域),下面的區域是 LegendTitle 對象,是一種 SubTitle 對象。

每個 JFreeChart 對象只能有 1 個 Title 對象, 1 個 Plot 對象,可以有多個 SubTitle 對象。 JFreeChart 對象可以進行的操作有:背景的設置(背景顏色、背景圖片、透明度等)、邊框的設置(是否可見、筆畫、 Paint 等)、渲染方式的設置、標題對象的設置、子標題對象的增刪查操作。(本文中的所有操作都不提供代碼級的介紹,可參見 API 手冊或者源碼)

2、 主標題對象

主標題對象是 TextTitle 類型,可以進行的操作有:背景設置、字體設置(字體類型、顏色、內容、對齊方式等操作)、 tooltip 設置、 URL 設置。

3、 Plot 對象

Plot 對象是圖形的繪制結構對象。 JFreeChart 中含有很多不同的 Plot 對象,每一種圖形對象中的 Plot 對象都在實例化的時候創建。所有的 Plot 共有的操作有:背景設置(背景顏色、背景圖片、透明度等)、前景透明度設置、無數據存在情況的設置(顯示的字符內容、顯示的字體、顯示的 Paint )、放大縮小比例的設置,大部分 Plot 對象還有設置 Datset 、設置 Renderer 對象操作。

JFreeChart 中有 18 種 Plot 抽象類的具體實現類。 Plot 的具體實現類主要由以下重要對象組成: Renderer 對象(圖形的繪制單元——繪圖域) Datset (圖形的數據源), DomainAxis (區域軸,相當于 x 軸), RangeAxis (范圍軸,相當于 y 軸)。不同的 Plot 對象組成方式不盡相同,有的不含有 Renderer 對象,比如 CompassPlot 、 ContourPlot 、 MultiplePiePlot 、 PiePlot 等,有的不含有 DomainAxis 、 RangeAxis 對象,另外除了 FastScatterPlot 類都含有 Datset 對象, FastScatterPlot 使用 float 的二維數組充當數據源。尤其說明一點,餅狀圖相關的 Plot 對象( MultiplePiePlot 、 PiePlot 、 PiePlot3D 、 RingPlot )中都不含有 Renderer 對象、 DomainAxis 對象、 RangeAxis 對象。

一般來說, Datset 對象存儲數據模型, Renderer 對象存儲顯示模型, Plot 對象根據 Datset 對象、 Renderer 對象完成畫圖操作。
仍以上面的圖形講解 Plot 對象的組成。

上圖的中間區域是是一個 XYPlot 對象。其中的折線部分即是圖形的繪制單元 Renderer 對象。 X 軸是 DomainAxis , y 軸是 RangeAxis ,其中 Datset 對象屬于數據模型范疇,是 UI 不可見對象。該圖中的 plot 背景色、網格線的各種設置可以通過 XYPlot 對象本身完成。

下面講解 Renderer 對象、 Axis 對象( X 軸、 y 軸都屬于 Axis 對象), Datset 對象在后續章節中專門講解。

1) Renderer對象

Renderer 對象是圖形的繪制單元。 JFreeChart 提供了兩個接口 CategoryItemRenderer 和 XYItemRenderer 、 1 個抽象類 AbstractRenderer 供具體的 Renderer 類實現,給出了將近 50 種具體實現類。

一般來說 Renderer 對象可進行的操作有:對 item label (下圖中的柱狀圖上的紅色數字即為 item label 的示例)的默認設置( item label 的產生方式、是否可見、字體、 Paint 、正反向 item label 的位置設置等)、繪制圖形的邊框默認設置( Paint 、筆畫、是否可見等)、繪制圖形的默認設置(形狀、筆畫、是否可見、對應的圖例中是否可見等,折線圖還有線條是否可見、折點圖形是否可見、折點圖形是否填充、折點圖形的形狀、對應的圖例中線條是否可見、圖形是否可見、整體是否可見等)、以及對指定 item label 的設置、指定繪制圖形的設置。可以說和具體繪制的圖形相關的屬性都可以通過 Renderer 對象設置。

不同的 Renderer 的實現類實現了不同的顯示方式,在含有 Renderer 對象的 JFreeChart 對象中, R enderer 對象決定了JFreeChart對象的顯示方式。例如:柱狀圖的Plot對象中默認的Renderer對象是 CategoryItemRenderer 對象,通過設置 Plot 對象的Renderer對象 為 LineAndShapeRenderer ,則柱狀圖變為線圖。使用中一般不需要顯式的實例化一個 R enderer 對象,一般通過 JFreeChart 對象的 Plot 對象調用現有的 R enderer 對象進行重新設置等操作。

2) Axis對象

JFreeChart 提供了兩種類型的坐標軸: CategoryAxis (等級軸)和 ValueAxis (值軸), ValueAxis 又有 3 個子類: DateAxis (時間軸)、 NumberAxis (數字軸)、 PeriodAxis (時期軸)。這些坐標軸還有更詳細的子類,不再一一列舉。

Axis 對象可進行的操作有:標題的設置(內容、字體、Paint、顯示角度等)、坐標線的設置(筆畫、Paint、是否可見等)、刻度線的設置(是否可見、筆畫、Paint、位于繪圖區域的長度、位于繪圖區域外的長度等)、刻度標示的設置(筆畫、Paint、字體、與軸的距離等)、坐標軸范圍設置等。

CategoryAxis 對象還可以進行的操作有: 刻度標示間距 設置( 最小間距、最大間距、指定間距)等。

ValueAxis 對象可進行的操作有:軸端設置(顯示的圖形形狀)、范圍設置(是否自動產生范圍、自動產生的最小范圍、最大范圍、指定確定范圍、指定范圍大小等)、間隔設置(是否自動產生間隔、指定間隔)等。

DateAxis 對象還有對時間刻度顯示格式的設置操作。

4、 子標題對象

子標題對象是 Title 類型的對象,一個JFreeChart可以有多個子標題對象。JFreeChart提供了5種Title的實現,可以是圖片、文本、圖例等的形式。

三、數據源處理

JFreeChart 中的數據源是DataSet接口類型。該接口有三個主要的子類接口:CategoryDataset、PieDataset、SeriesDataset

CategoryDataset 接口的實現類基本上都維護了一個三元組<value,row,col>的列表結構。不同的實現類中value 的類型不相同。<row,col>唯一確定一個三元組。

CategoryDataset的實現類提供對這個三元組的增刪改查操作。

PieDataset 接口有兩個主要的實現類:CategoryToPieDataset 、DefaultPieDataset。PieDataset接口的實現類基本上都維護了一個二元組<key,value>的列表結構。

Key唯一確定一個二元組。CategoryDataset的實現類提供對這個二元組的增刪改查操作。CategoryToPieDataset中的二元結構列表通過對CategoryDataset類型的對象指定行或者列轉化過來。DefaultPieDataset直接維護一個二元結構列表。

SeriesDataset 接口的實現類基本上都維護了一種特定數據結構的列表。以TimeSeriesCollection為例。它維護一個TimeSeries對象列表,提供對該列表的增刪查操作。每個TimeSeries對象維護一個<time,value>列表,提供對該列表的增刪改查操作。

四、JFreeChart 中對常見圖形的處理

JFreeChart 并不存在多個不同的類來生成不同的圖形。所有的圖形都是具體類 JFreeChart 的實例化對象,初始化 JFreeChart 對象的時候通過指定不同的 Plot 實現類就可以顯示出不同的圖形。不同的 Plot 實現類具有不同的 Renderer 對象、 Axis 對象、 Dataset 對象。
JFreeChart 提供工廠類 ChartFactory 方便使用者生成各種不同的圖形。 ChartFactory 類的各個工廠方法中實現對具體 Plot 的指定以及對類 JFreeChart 構造函數的調用。

下面以常用圖形說一下常用的使用流程(大部分的操作講的并不全面,比如 JFreeChart 可能提供了很多增加、修改數據的方式,下文中可能只列舉一種)。

1、柱狀圖

1)平面柱狀圖

生成柱狀圖操作:

  1. JFreeChart chart = ChartFactory.createBarChart(   
  2. String title,                 // 圖標題   
  3. String categoryAxisLabel,     //x 軸標題   
  4. String valueAxisLabel,       //y 軸標題   
  5. CategoryDataset dataset,      // 數據源   
  6. PlotOrientation orientation,    // 顯示方向   
  7. boolean legend,             // 是否顯示圖例   
  8. boolean tooltips,            // 是否顯示 tooltip   
  9. boolean urls) ;              // 是否指定 url 

平面柱狀圖的 Plot 對象是 CategoryPlot 類型。 CategoryPlot 對象的 x 軸是 CategoryAxis 對象, y 軸是 NumberAxis 對象,繪制單元是 BarRenderer 對象,數據源是 CategoryDataset 對象。

獲取 CategoryPlot 對象操作為:

  1. CategoryPlot plot = ( CategoryPlot ) chart.getPlot();  

或者

  1. CategoryPlot plot = chart.getCategoryPlot();  

獲取繪制單元操作:

  1. BarRenderer renderer = (BarRenderer) plot.getRenderer();  

獲取 x 軸的操作:

  1. CategoryAxis xAxis = ( CategoryAxis ) plot.getDomainAxis();  

獲取 y 軸操作:

  1. NumberAxis yAxis = (NumberAxis) plot.getRangeAxis();  

獲取數據源:

  1. CategoryDataset dataset=plot.getDataset();  

柱狀圖可以接受一切 CategoryDataset 類型的數據源,下面講解一下常用的 CategoryDataset 類型 DefaultCategoryDataset 的使用方式

實例化:

  1. DefaultCategoryDataset dataset = new DefaultCategoryDataset();  

增加數據:

  1. dataset .addValue(double value, Comparable rowKey, Comparable columnKey) ;  

刪除數據:

  1. dataset .removeValue(Comparable rowKey, Comparable columnKey);  

或者

  1. dataset. removeColumn(int columnIndex);  

或者

  1. dataset. removeColumn(Comparable columnKey);  

對行同樣有上述兩種刪除方式,不在列舉。

修改數據:

  1. dataset. setValue(double value, Comparable rowKey, Comparable columnKey);  

查詢數據:

對 plot 對象、繪制單元、 x 軸、 y 軸的顯示特性修改不再一一介紹。

#p#

2)3D 柱狀圖

對應的工廠方法為 createBarChart3D ,該方法的參數與平面柱狀圖相同。 3D 柱狀圖的 Plot 對象是 CategoryPlot 類型。 CategoryPlot 對象的 x 軸是CategoryAxis3D 對象, y 軸是 NumberAxis3D 對象,繪制單元是 BarRenderer3D 對象,數據源是 CategoryDataset 對象。

具體使用以及操作與平面柱狀圖雷同,不在詳述。

2、餅狀圖

(1) 平面餅狀圖

生成平面餅狀圖:

  1. JFreeChart chart = ChartFactory. createPieChart(String title, // 圖標題   
  2. PieDataset dataset,       // 數據源   
  3. boolean legend,         // 是否顯示圖例   
  4. boolean tooltips,         // 是否顯示tooltip   
  5. boolean urls) ;          // 是否指定url  

平面餅狀圖的Plot對象是PiePlot類型。PiePlot對象沒有x軸對象、y軸對象、繪制單元對象,數據源是PieDataset對象。

獲取PiePlot對象操作為:

  1. PiePlot plot = (PiePlot) chart.getPlot();  

獲取數據源:

  1. PieDataset dataset= plot .getDataset();  

餅狀圖可以接受一切 PieDataset 類型的數據源,下面講解一下常用的 PieDataset 類型 DefaultPieDataset 的使用方式

實例化:

  1. DefaultPieDataset dataset = new DefaultPieDataset();  

增加修改操作:

  1. dataset. setValue(Comparable key, double value);  

刪除操作:

  1. dataset. remove(Comparable key);  

查詢操作:

  1. dataset. getKey(int item);  

或者

  1. dataset. getValue(int item);  

1)3D 餅狀圖

對應的工廠方法為 createPieChart3D ,參數與平面餅狀圖相同。與平面餅狀圖的差別在于 Plot 對象是PiePlot3D類型 ,不再詳述。

3、多重餅狀圖

1)多重平面餅狀圖

生成多重平面餅狀圖:

  1. JFreeChart chart = ChartFactory. createMultiplePieChart   
  2. (String title,               // 圖標題   
  3. CategoryDataset dataset,     // 數據源   
  4. TableOrder order,       // 指定提取數據的方式(按行或者按列)   
  5. boolean legend,            // 是否顯示圖例   
  6. boolean tooltips,            // 是否顯示 tooltip   
  7. boolean urls)   ;            // 是否指定 url  

多重平面餅狀圖的 Plot 對象是 MultiplePiePlot 類型。 MultiplePiePlot 對象沒有 x 軸對象、 y 軸對象、繪制單元對象,數據源是 CategoryDataset 對象。

MultiplePiePlot 對象中可以含有多個子 JFreeChart 對象,子 JFreeChart 對象是上面講過的餅狀圖對象。

獲取 MultiplePiePlot 對象操作為:

  1. MultiplePiePlot plotMain = (MultiplePiePlot) chart.getPlot();  

獲取子 JFreeChart 的操作為:

  1. JFreeChart childChart=plotMain.getPieChart();  

獲取數據源:

  1. CategoryDataset dataset= plotMain .getDataset();  

2)多重 3D 餅狀圖

對應的工廠方法為 createMultiplePieChart3D ,該方法的參數與 多重平面餅狀圖 相同。 多重 3D 餅狀圖的 Plot 對象是 MultiplePiePlot 類型。 MultiplePiePlot 對象中可以含有多個子 JFreeChart 對象,子 JFreeChart 對象是上面講過的 3D 餅狀圖對象。

4、線圖

1)平面線圖

生成平面線圖:

  1. JFreeChart chart = ChartFactory. createLineChart(String title, // 圖標題   
  2. String categoryAxisLabel, //x 軸標題   
  3. String valueAxisLabel, //y 軸標題   
  4. CategoryDataset dataset, // 數據源   
  5. PlotOrientation orientation, // 顯示方向   
  6. boolean legend, // 是否顯示圖例   
  7. boolean tooltips, // 是否顯示   
  8. tooltip boolean urls); // 是否指定 url  

平面線圖除了的 Plot 對象中繪制單元對象是 LineAndShapeRenderer 對象,其他一切組成對象與平面柱狀圖相同。

獲取 Renderer 操作:

  1. LineAndShapeRenderer renderer=(LineAndShapeRenderer) plot.getRenderer();  

其他參考平面柱狀圖。

2)3D 線圖

對應工廠方法為 createLineChart3D ,參數與 createLineChart 相同。 3D 線圖的組成對象除了繪制單元對象是 LineAndShapeRenderer3D 對象,其他一切組成象與 3D 柱狀圖相同。

5、時序圖

生成時序圖:

  1. JFreeChart chart = ChartFactory.createTimeSeriesChart( String title, // 圖標題   
  2. String timeAxisLabel, //x 軸標題   
  3. String valueAxisLabel, //y 軸標題   
  4. XYDataset dataset, // 數據源   
  5. boolean legend, // 是否顯示圖例   
  6. boolean tooltips, // 是否顯示   
  7. tooltip boolean urls); // 是否指定 url  

時序圖的 Plot 對象是 XYPlot 類型。 XYPlot 對象的 x 軸是 DateAxis 對象, y 軸是 NumberAxis 對象,繪制單元是 XYLineAndShapeRenderer 對象,數據源是 XYDataset 對象。

Plot 對象的獲取操作:

  1. XYPlot plot = (XYPlot) chart.getPlot();  

X 軸對象的獲取操作:

  1. DateAxis xAxis = (DateAxis) plot.getDomainAxis();  

Y 軸對象的獲取操作:

  1. NumberAxis yAxis =(NumberAxis) plot.getRangeAxis();  

Renderer 對象的獲取操作:

  1. XYItemRenderer renderer= plot.getRenderer();  

時序圖可以接受一切 XYDataset 類型的數據源,下面講解一下常用的 XYDataset 類型 TimeSeriesCollection 的使用方式。

實例化:

  1. TimeSeriesCollection dataset=new TimeSeriesCollection();  

添加數據操作:

  1. dataset. addSeries(TimeSeries); // 后面講解 TimeSeries 對象  

刪除數據操作:

  1. dataset. removeSeries(int index);  

查詢數據操作:

  1. dataset. getSeries(int series);  

TimeSeries 對象操作

實例化:

  1. TimeSeries ts=TimeSeries(String name, Class timePeriodClass);  

增加數據操作:

  1. ts. add(RegularTimePeriod period, double value);  

刪除數據操作:

  1. ts. delete(RegularTimePeriod period);  

修改數據操作:

  1. ts. update(RegularTimePeriod period, Number value);  

查詢數據操作:

  1. ts. getValue(RegularTimePeriod period);  

類 RegularTimePeriod 是 JFreeChart 提供的時間模板類,它有很多具體的時間類,比如: Minute 、 Second 、 Hour 、 Day…… 等,不再詳述。

原文鏈接:http://www.blogjava.net/JavaExplore/archive/2006/09/01/67217.html

【編輯推薦】

  1. JFreeChart簡單介紹及入門實例
  2. JFreeChart API中文文檔
  3. JFreeChart中文亂碼解決方案
  4. Java最佳圖形解決方案 JFreeChart學習總結
  5. 詳細解析Java中抽象類和接口的區別

 

責任編輯:林師授 來源: javaexplore的博客
相關推薦

2011-12-22 13:17:03

JavaJFreeChart

2009-12-03 16:14:58

軟路由安裝

2020-05-15 08:10:14

HTTP3應用協議

2025-01-02 14:50:34

MyBatis開發緩存

2022-02-15 11:49:08

eBPFGo內存

2013-07-15 11:03:52

802.11ac技術802.11ac

2009-12-15 14:16:13

Ruby Contin

2009-11-27 10:37:41

GPRS路由

2009-11-12 14:32:00

BGP路由協議

2010-02-04 16:52:01

多層交換技術

2010-08-04 09:43:28

Flex應用程序

2010-11-29 11:22:36

SYBASE數據庫日志

2009-12-09 10:07:19

Linux靜態路由

2009-12-14 18:14:27

Ruby DSL

2009-12-09 13:35:09

靜態路由配置

2009-11-20 09:56:27

軟交換路由技術

2023-08-31 08:12:23

應用場景業務異常HTTP

2019-01-10 08:24:06

2013-05-15 10:29:13

微軟云計算“戰略”

2025-02-19 10:49:30

點贊
收藏

51CTO技術棧公眾號

久久99国产精品| 亚洲精品成人久久久| 中文字幕欧美人与畜| 国产精品高潮呻吟av| 影音先锋亚洲电影| 亚洲人在线观看| 国产一二三区av| 青青青国内视频在线观看软件| 9久草视频在线视频精品| 国产成人精品午夜| 欧美黑吊大战白妞| 深爱激情久久| 精品日本一线二线三线不卡| 人妻无码视频一区二区三区| av免费网站在线观看| 91天堂素人约啪| 亚洲一区制服诱惑| 国产精品乱子伦| 综合视频在线| 国产亚洲精品美女| 特级特黄刘亦菲aaa级| 97成人超碰| 性做久久久久久久免费看| 亚洲高清乱码| 日韩成人黄色| 国产激情一区二区三区四区| 国产精品福利在线| 日本一级黄色大片| 在线观看免费一区二区| 亚洲视频国产视频| 波多野结衣影院| 欧美成年网站| 欧美乱妇15p| 毛片av免费在线观看| 黑人玩欧美人三根一起进| 国产精品欧美一区二区三区| 美国av一区二区三区| 亚洲精品国产精| 国模一区二区三区白浆| 国产精品91在线观看| 免费看日韩毛片| 午夜电影亚洲| 久久在线精品视频| 国产破处视频在线观看| 制服丝袜日韩| 亚洲成人黄色在线观看| 少妇性l交大片7724com| 亚洲精品tv| 欧美日韩免费高清一区色橹橹 | 亚洲啊v在线观看| 亚洲深夜福利在线| 熟女俱乐部一区二区| 欧美人与动xxxxz0oz| 亚洲第一福利网站| 久久久久99人妻一区二区三区| 99精品国产九九国产精品| 欧美日韩一区二区三区在线看| 韩国日本美国免费毛片| 日韩免费电影| 欧美在线|欧美| 91蝌蚪视频在线观看| 影视一区二区三区| 欧美在线短视频| 国产又黄又猛又粗又爽的视频| 户外露出一区二区三区| 在线视频国产一区| 久久久精品三级| 国产精品久久久久久久久久齐齐| 欧美在线观看你懂的| xxww在线观看| 粉嫩一区二区三区在线观看| 欧美一级日韩一级| 中文字幕1区2区| 精品视频高潮| 亚洲丝袜在线视频| 亚洲女优在线观看| 91亚洲国产| 九九热这里只有在线精品视| 免费一级片在线观看| 一本色道久久综合亚洲精品不卡| 91av在线不卡| 中文在线免费看视频| 黄网站免费久久| 成人免费观看网站| 日本成人一区二区三区| 欧美国产禁国产网站cc| 在线一区亚洲| 97天天综合网| 91黄色免费观看| 国产在线观看中文字幕| 波多野结衣欧美| 亚洲欧美日韩中文视频| www深夜成人a√在线| 亚洲天堂久久| 国产精品99蜜臀久久不卡二区| 夜夜狠狠擅视频| 丁香六月综合激情| 日韩精彩视频| 牛牛在线精品视频| 在线精品视频免费播放| 日本特黄在线观看| 欧美a大片欧美片| 日韩在线欧美在线国产在线| 久久婷婷国产麻豆91| 老司机精品久久| 99re视频在线播放| 国产三级在线看| 亚洲精品免费在线播放| 久久人妻精品白浆国产| 日本精品视频| 亚洲日本中文字幕免费在线不卡| 18岁成人毛片| 日韩av一区二区三区| 成人影片在线播放| 成人在线免费公开观看视频| 亚洲一区在线观看网站| 国产又大又黄又粗又爽| 久久97久久97精品免视看秋霞| 一区二区三区国产视频| 国产无码精品一区二区| 麻豆一区二区三区| 久久av免费观看| 97超碰资源站在线观看| 欧洲av在线精品| 欧美日韩一区二区三区四区五区六区| 日本一本不卡| 日本欧美中文字幕| 亚洲国产精品国自产拍久久| 国产精品久久久久婷婷| 岳毛多又紧做起爽| 红杏视频成人| 欧美日韩国产成人高清视频| 中文字幕你懂的| 久久亚洲精品国产精品紫薇| 国产毛片久久久久久国产毛片| 日韩毛片免费视频一级特黄| 亚洲欧美日韩一区二区在线| 毛片视频网站在线观看| 国产成人午夜视频| 色撸撸在线观看| 韩日一区二区| 中文字幕日韩av| 日韩美一区二区| 久久综合九色综合久久久精品综合| 国产视频在线观看网站| 久久久久久久久久久久电影| www.美女亚洲精品| 中文字字幕在线中文乱码| 久久精品在线免费观看| 亚洲午夜精品久久久久久人妖| 国产精品对白久久久久粗| 欧美另类第一页| а√天堂资源在线| 亚洲影院免费观看| 又黄又色的网站| 亚洲毛片一区| 国产一区二区三区高清| 麻豆免费在线| 亚洲男女自偷自拍图片另类| 一区二区三区在线观看av| 久久夜色精品国产欧美乱极品| 亚洲女人天堂色在线7777| 女人床在线观看| av在线亚洲一区| 日韩视频精品在线| 国产农村妇女毛片精品| 一区二区三区日本| 人妖粗暴刺激videos呻吟| 亚洲国产mv| 久久精品久久精品国产大片| 欧美xxx视频| 中文字幕久久久av一区| 97国产精品久久久| 亚洲精品伦理在线| 99久久人妻无码中文字幕系列| 性久久久久久| 色噜噜一区二区| **国产精品| 欧美极品在线播放| 天堂√在线中文官网在线| 一本大道av伊人久久综合| 五月婷婷婷婷婷| 国产传媒欧美日韩成人| 免费观看美女裸体网站| 成人精品久久| 亚洲最大成人在线| 免费h在线看| 国产亚洲欧美视频| 6—12呦国产精品| 亚洲午夜久久久久中文字幕久| 右手影院亚洲欧美| 久久爱www久久做| 国产黄色激情视频| 免费欧美视频| 亚洲一区二区三区视频播放| yellow在线观看网址| 国产一区二区精品丝袜| 国产富婆一级全黄大片| 色中色一区二区| 一级黄色录像视频| 久久精品一级爱片| 美女流白浆视频| 日韩影院在线观看| 国产 欧美 日本| 精品视频黄色| 激情伦成人综合小说| 男人亚洲天堂| 国产91|九色| 影院在线观看全集免费观看| 亚洲天堂免费在线| 乱精品一区字幕二区| 欧美日韩一区二区不卡| 圆产精品久久久久久久久久久| 国产精品毛片大码女人| 天天插天天射天天干| 国内成人精品2018免费看| 色婷婷综合久久久久中文字幕| 国产精品久久| 青春草在线视频免费观看| 日本欧美韩国国产| 147欧美人体大胆444| 亚洲成人av观看| 45www国产精品网站| 天堂8中文在线| 久久精品99久久久久久久久| 精华区一区二区三区| 亚洲国产精品久久久久| 国产强伦人妻毛片| 欧美日韩精品三区| 天堂免费在线视频| 欧美日韩一区二区免费视频| 国产精品7777| 亚洲激情一二三区| 国产一二三区精品| 国产精品大尺度| 国产探花视频在线| 亚洲国产成人午夜在线一区| 91资源在线播放| 国产亚洲综合色| 亚洲黄色免费在线观看| 成人美女视频在线观看| 中文字幕12页| 老司机精品视频一区二区三区| 国内外成人激情视频| 欧美精品播放| 免费人成在线观看视频播放| 久久久久电影| 亚洲精品人成| 欧美日韩水蜜桃| 欧美一区二区三区成人久久片| xvideos.蜜桃一区二区| 国产精品一 二 三| 亚洲小说春色综合另类电影| 成人夜晚看av| 在线成人av观看| 97在线观看免费高清| 日日夜夜天天综合入口| 国产一区二区三区在线观看视频 | 亚洲熟妇无码av| 99久免费精品视频在线观看 | 欧美日韩不卡| 国产成人精品久久| 羞羞影院欧美| 国产91在线播放| 日韩性xxx| 日韩免费在线视频| 99久久精品一区二区成人| 日韩av大片免费看| 成人黄色免费短视频| 欧美做爰性生交视频| 中文字幕资源网在线观看免费 | 精品国产91九色蝌蚪| jizz国产视频| 精品国产一区二区三区久久影院| 精品久久国产视频| 亚洲国产精品高清久久久| 丝袜+亚洲+另类+欧美+变态| 精品视频一区在线视频| 97电影在线看视频| 久久精品最新地址| 欧美野外wwwxxx| 97婷婷大伊香蕉精品视频| www.51av欧美视频| 国产成人精品一区二区三区| 亚洲电影有码| 亚洲va欧美va国产综合久久| 99精品视频在线免费播放| 97在线电影| 少妇精品久久久一区二区| 婷婷亚洲婷婷综合色香五月| 99久久婷婷| 久久久亚洲精品无码| 久久福利影视| 黄色一级片免费的| 懂色一区二区三区免费观看| 久久久久亚洲AV成人无码国产| av黄色在线播放| **性色生活片久久毛片| 久草视频免费在线播放| 第一福利永久视频精品| 国产乱码一区二区| 亚洲精品国产欧美| 风间由美一区| 午夜精品久久久久久久白皮肤| 都市激情亚洲一区| 成人亚洲综合色就1024| 偷拍自拍亚洲色图| 亚洲在线播放电影| 亚洲第一黄色| 一级淫片在线观看| 91农村精品一区二区在线| 国产国语性生话播放| 亚洲精品免费在线观看| 亚洲精品www久久久久久| 欧美色道久久88综合亚洲精品| 国产精品欧美久久久久天天影视| 亚洲第一区在线| 欧美一区二区三区在线观看免费| 1769国产精品| 精品网站999| 精品欧美一区二区在线观看视频| 91精品在线观看国产| 日本精品一区二区三区四区 | 日本中文字幕在线不卡| 91在线视频免费91| 欧美一区二区三区爽爽爽| 在线观看日韩一区| 手机看片一区二区| 不卡毛片在线看| 高清在线一区| 六十路精品视频| 国产精品分类| 91人妻一区二区三区| 国产女主播一区| 国产第100页| 欧美成人性福生活免费看| 2021av在线| 亚洲2020天天堂在线观看| 麻豆国产一区| 亚洲一二区在线| 精品中文av资源站在线观看| 精品少妇一区二区三区免费观| 亚洲国产精品嫩草影院| 黄色一级大片在线免费看国产一 | 永久免费观看片现看| 色综合婷婷久久| 亚洲 欧美 精品| 欧美精品电影免费在线观看| 日韩毛片在线| 亚洲国产高清国产精品| 男人天堂欧美日韩| 久久精品成人av| 欧美日韩精品在线观看| 欧美 日韩 国产 在线| 97视频免费观看| 超碰地址久久| 麻豆传媒网站在线观看| 国产成人综合自拍| 精品深夜av无码一区二区老年| 欧美自拍偷拍午夜视频| 成人在线免费公开观看视频| 国产99视频精品免视看7| 欧美军人男男激情gay| av免费在线播放网站| 久久亚洲影视婷婷| 亚洲一级片免费看| 日韩在线精品一区| 2020国产精品小视频| 成年丰满熟妇午夜免费视频| 国产精品亚洲一区二区三区在线| 久久久久久久久久97| 91精品国产aⅴ一区二区| 黄网站视频在线观看| www.久久久| 99国产精品视频免费观看一公开 | 久久99久久99精品免费看小说| 欧美日韩亚洲另类| 欧美成年黄网站色视频| 成人动漫视频在线观看免费| 亚洲福利久久| 欧美性xxxx图片| 精品污污网站免费看| 黄黄的网站在线观看| 91久久精品国产91久久| 精品动漫3d一区二区三区免费| 97人妻精品一区二区三区免费| 一本久道久久综合中文字幕| 91caoporn在线| 亚洲sss综合天堂久久| 国产日韩1区| 亚洲精品国产精品国自| 精品久久人人做人人爽| 电影网一区二区| 亚洲在线视频一区二区| av电影在线观看不卡| 日韩 国产 欧美| 久久久精品电影| 久久精品福利| 日本美女高潮视频| 亚洲大尺度视频在线观看|