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

在Java SE平臺上使用Headless模式

開發 后端
哪里才能用到此模式呢?想想你的應用不停的生成一張圖片,比如,當用戶每次登陸系統是都要生成一張認證圖片。當創建圖片時,你得應用既不需要顯示器也不需要鍵盤。讓我們假設一下,現在你的應用有個主架構或者專有服務器,但這個服務沒有顯示器,鍵盤或者鼠標。

這篇文章介紹怎樣在標準Java(Java SE,也稱作J2SE)平臺上用Headless模式。

Headless模式是在缺少顯示屏、鍵盤或者鼠標時的系統配置。聽起來不可思議,但事實上你可以在這中模式下完成不同的操作,甚至是用圖形數據也可以。

哪里才能用到此模式呢?想想你的應用不停的生成一張圖片,比如,當用戶每次登陸系統是都要生成一張認證圖片。當創建圖片時,你得應用既不需要顯示器也不需要鍵盤。讓我們假設一下,現在你的應用有個主架構或者專有服務器,但這個服務沒有顯示器,鍵盤或者鼠標。理想的決定是用環境的大量視覺計算能力而不是非視覺特性。在Headless模式下生成的圖片可以傳遞到Headful系統進行更深層次渲染。

在java.awt.toolkit和java.awt.graphicsenvironment 類中有許多方法,除了對字體,圖像和打印的操作外還有調用顯示器,鍵盤和鼠標的方法。但是有一些類中,比如Canvas 和 Panel,可以在headless模式下執行。在J2SE 1.4平臺之后就提供了對Headless模式的支持。

注:這篇文章重點講的是Java SE6 平臺版本的文檔。任何API增加或其他增強Java SE平臺的規范由JSR270專家組(JSR 270 Expert Group.)的審查和批準

Toolkit

java.awt.Toolkit類是Abstract Window Toolkit (AWT)的 所有實現類的抽象父類。Toolkit的子類用于把各種AWT組件綁定到特定的本地toolkit實現上去。 

如果顯示設備,鍵盤或鼠標不支持的話,很多組件都會受影響。一個合適的類構造器應當拋出一個HeadlessException異常: 

  • Button
  • Checkbox
  • Choice
  • Dialog
  • FileDialog
  • Frame
  • Label
  • List
  • Menu
  • MenuBar
  • MenuItem
  • PopupMenu
  • Scrollbar
  • ScrollPane
  • TextArea
  • TextField
  • Window

這種重量級的組件需要有一個操作系統級別上對等的圖形函數來支持它,在headless的機器上它們將不能正常工作。 

與Canvas、Panel和Image組件相關的組件不需要拋出HeadlessException異常,因為這些組件在操作系統級別上的對等圖形函數可以使用空函數,然后作為輕量級組件來處理。

一個Headless的toolkit也會把Java組件綁定到本地資源上去,但是它只有在資源中不包含顯示設備或輸入設備時才會這樣做。 

Graphics Environment

java.awt.GraphicsEnvironment類是一個抽象類,它描述了在給定平臺中,可以在Java技術中使用的由 GraphicsDevice對象和Font對象組成的集合。該GraphicsEnvironment中的資源可以是本地的也可以是遠程設備。 GraphicsDevice對象可以是顯示器,打印機或者圖形緩存等,并且它們是Graphics2D 繪制函數的目標。每一個GraphicsDevice都有許多與之關聯的GraphicsConfiguration對象。這些對象指定了不同的配置環境,在這些配置環境中可以使用GraphicsDevice。

Table 1 顯示GraphicsEnvironment 方法,檢查Headless模式支持

Table 1.  Headless 模式方法    

方法 描述

public static boolean
isHeadless()

測試環境是否為headless, 對于是否不支持display  device,keyboard,mouse。如果這個方法returns true,theToolkitandGraphicsEnvironmentclasses 拋出(thrown)依賴于display device, keyboard, mouse的aHeadlessExceptionis異常.

public boolean
isHeadlessInstance()

Returns  thisGraphicsEnvironmentcan 是否支持dieplay device,keyboard,mouse. 如果這個方法 returns  true,  theGraphicsEnvironmentthat 拋出(throw)一個依賴于 display device, keyboard, mouse的aHeadlessExceptionis 異常.

注意:isHeadless()方法檢查特定的系統屬性,java.awt.headless而不是系統的硬件配置. 

HeadlessException 拋出的代碼,這取決于display device、keyboard、mouse在一個環境稱為不支持任何這些.唯一的例外是來自一個 UnsupportedOperationException,本身就是來源于一個RuntimeException.

設置Headless模式

使用Headless模式操作,您必須首先了解如何檢查和設置系統屬性與此相關的模式。此外,你必須了解如何創建一個默認的工具包使用工具箱的無頭實現類.

系統屬性配置

為了啟用headless模式,需要使用setProperty()方法去設置相應的系統屬性。本方法可以讓你用期望的值來設置系統屬性。

  1. System.setProperty("java.awt.headless""true"); 

上面的代碼中,java.awt.headless是一個系統屬性,true是我們設定的值。

如果你想在一個相同的程序中使用headless和傳統環境,你可以使用下面的命令行來完成:

  1. java -Djava.awt.headless=true   

創建默認Toolkit

如果名字為java.awt.headless的系統屬性被設置為true,那么headless工具包就會被使用。接下來使用getDefaultToolkit()方法來創建一個headless toolkit的實例:

  1. Toolkit tk = Toolkit.getDefaultToolkit(); 

Headless模式檢查

要檢查Headless模式的可用性,使用GraphicsEnvironment類的isHeadless()方法:

  1. GraphicsEnvironment ge =  
  2. GraphicsEnvironment.getLocalGraphicsEnvironment();  
  3. boolean headless_check = ge.isHeadless(); 

該方法檢查java.awt.headless系統屬性。如果這個屬性有一個為true的值,那么就會從工具包和依賴于一個顯示器,鍵盤,鼠標的GraphicsEnvironment類的區域中拋出一個HeadlessException。
在Headless模式中操作

設置好headless模式并創建一個headless工具包的實例后,您的應用程序可以執行以下操作: 

  • 創建輕量級組件,如Canvas,Panel,和Swing組件,除了top級別.
  • 收集關于可用的字體、字體指標和字體設置的信息
  • 設置顏色來渲染文本和圖形
  • 創造和獲取圖像,為渲染準備圖片
  • 使用java.awt.PrintJob, java.awt.print.*, 和 javax.print.* 類進行打印。
  • 發出"嗶嗶"音頻。

Canvas(畫布)

下面的代碼會在屏幕上繪制出一個空白的矩形區域,你可以在上面繪制線條。可以使用Canvas類創建一個新的Canvas組件。

  1. final Canvas c = new Canvas()  
  2. {  
  3.     public void paint(Graphics g)  
  4.     {  
  5.         Rectangle r = getBounds();  
  6.         g.drawLine(00, r.width - 1, r.height - 1);  
  7.         g.drawLine(0, r.height - 1, r.width - 10);  
  8.     }  
  9. }; 

Fonts(字體)

這段代碼顯示了怎么使用Font類畫一個文本字符串并設置文字的字體。Graphics對象是用來繪制這個字符串的。

  1. public void paint(Graphics g)  
  2. {  
  3.     g.setFont(new Font("Arial", Font.ITALIC, 12));  
  4.     g.drawString("Test"328);  
  5. }  

Colors

這段代碼顯示了如何使用指定的紅,綠,藍的值來設置一條線的顏色。Graphics對象是用來繪制這條線的。

  1. public void paint(Graphics g)  
  2. {  
  3.     g.setColor(new Color(2551270));  
  4.     g.drawLine(0, r.height - 1, r.width - 10);  

Images

在下面的代碼中,javax.imageio.ImageIO類的使用read()方法對圖1所示的grapefruit.jpg文件進行解碼,并返回一個緩存圖片。

  1. Image i = null;  
  2. try 
  3. {  
  4.     File f = new File("grapefruit.jpg");  
  5.     i = ImageIO.read(f);  
  6. }  
  7. catch (Exception z)  
  8. {  
  9.     z.printStackTrace(System.err);  

圖1。grapefruit.jpg圖像文件

Print

這段代碼演示了如何打印已經準備好的畫布,你可以使用paint方法自定義打印機的的默認畫面。

  1. PrinterJob pj = PrinterJob.getPrinterJob();  
  2. pj.setPrintable(new Printable()  
  3. {  
  4.    public int print(Graphics g, PageFormat pf, int pageIndex)  
  5.    {  
  6.        if (pageIndex > 0)  
  7.        {  
  8.            return Printable.NO_SUCH_PAGE;  
  9.        }  
  10.  
  11.        ((Graphics2D)g).translate(pf.getImageableX(),  
  12.                                  pf.getImageableY());  
  13.  
  14.        // Paint canvas.  
  15.        c.paint(g);  
  16.  
  17.        return Printable.PAGE_EXISTS;  
  18.    }  
  19. }); 

Beep

下面的這段代碼展示了如果使用 Toolkit類的beep方法發出嘟嘟聲。

  1. Toolkit tk = Toolkit.getDefaultToolkit();  
  2. tk.beep();  

 #p#

使用Headless模式簡單例子

以下的HeadlessBasics例子運用了文章中描述的所有功能。

要運行這個的例子,需要用javac對下面的代碼進行編譯。復制grapefruit.jpg圖片文件到HeadlessBasics類所在的目錄下面。

  1. import java.awt.*;  
  2. import java.io.*;  
  3. import java.awt.print.*;  
  4.  
  5. import javax.imageio.*;  
  6.  
  7. public class HeadlessBasics  
  8. {  
  9.     public static void main(String[] args)  
  10.     {  
  11.         // Set system property.  
  12.         // Call this BEFORE the toolkit has been initialized, that is,  
  13.         // before Toolkit.getDefaultToolkit() has been called.  
  14.         System.setProperty("java.awt.headless""true");  
  15.  
  16.         // This triggers creation of the toolkit.  
  17.         // Because java.awt.headless property is set to true, this  
  18.         // will be an instance of headless toolkit.  
  19.         Toolkit tk = Toolkit.getDefaultToolkit();  
  20.         // Standard beep is available.  
  21.         tk.beep();  
  22.  
  23.         // Check whether the application is  
  24.         // running in headless mode.  
  25.         GraphicsEnvironment ge =  
  26.         GraphicsEnvironment.getLocalGraphicsEnvironment();  
  27.         System.out.println("Headless mode: " + ge.isHeadless());  
  28.  
  29.         // No top levels are allowed.  
  30.         boolean created = false;  
  31.         try 
  32.         {  
  33.             Frame f = new Frame("Frame");  
  34.             created = true;  
  35.         }  
  36.         catch (Exception z)  
  37.         {  
  38.             z.printStackTrace(System.err);  
  39.             created = false;  
  40.         }  
  41.         System.err.println("Frame is created: " + created);  
  42.  
  43.         // No other components except Canvas and Panel are allowed.  
  44.         created = false;  
  45.         try 
  46.         {  
  47.             Button b = new Button("Button");  
  48.             created = true;  
  49.         }  
  50.         catch (Exception z)  
  51.         {  
  52.             z.printStackTrace(System.err);  
  53.             created = false;  
  54.         }  
  55.         System.err.println("Button is created: " + created);  
  56.           
  57.         // Canvases can be created.  
  58.         final Canvas c = new Canvas()  
  59.         {  
  60.             public void paint(Graphics g)  
  61.             {  
  62.                 Rectangle r = getBounds();  
  63.                 g.drawLine(00, r.width - 1, r.height - 1);  
  64.                 // Colors work too.  
  65.                 g.setColor(new Color(2551270));  
  66.                 g.drawLine(0, r.height - 1, r.width - 10);  
  67.                 // And fonts  
  68.                 g.setFont(new Font("Arial", Font.ITALIC, 12));  
  69.                 g.drawString("Test"328);  
  70.             }  
  71.         };  
  72.         // And all the operations work correctly.  
  73.         c.setBounds(3232128128);  
  74.  
  75.         // Images are available.  
  76.         Image i = null;  
  77.         try 
  78.         {  
  79.             File f = new File("grapefruit.jpg");  
  80.             i = ImageIO.read(f);  
  81.         }  
  82.         catch (Exception z)  
  83.         {  
  84.             z.printStackTrace(System.err);  
  85.         }  
  86.         final Image im = i;  
  87.           
  88.         // Print system is available.  
  89.         PrinterJob pj = PrinterJob.getPrinterJob();  
  90.         pj.setPrintable(new Printable()  
  91.         {  
  92.             public int print(Graphics g, PageFormat pf, int pageIndex)  
  93.             {  
  94.                 if (pageIndex > 0)  
  95.                 {  
  96.                     return Printable.NO_SUCH_PAGE;  
  97.                 }  
  98.                 ((Graphics2D)g).translate(pf.getImageableX(),  
  99.                                           pf.getImageableY());  
  100.  
  101.                 // Paint the canvas.  
  102.                 c.paint(g);  
  103.  
  104.                 // Paint the image.  
  105.                 if (im != null)  
  106.                 {  
  107.                     g.drawImage(im, 32326464null);  
  108.                 }  
  109.  
  110.                 return Printable.PAGE_EXISTS;  
  111.             }  
  112.         });  
  113.         try 
  114.         {  
  115.             pj.print();  
  116.         }  
  117.         catch (Exception z)  
  118.         {  
  119.             z.printStackTrace(System.err);  
  120.         }  
  121.     }  
  122. }  

圖2顯示了這個例子中的打印輸出結果

圖2。HeadlessBasics的打印輸出。

此外,你可以看到以下的信息:

  1. Headless mode: true 
  2. java.awt.HeadlessException  
  3. at java.awt.GraphicsEnvironment.checkHeadless(Unknown Source)  
  4. at java.awt.Window.<init>(Unknown Source)  
  5. at java.awt.Frame.<init>(Unknown Source)  
  6. at HeadlessBasics.main(HeadlessBasics.java:24)  
  7. Frame is created: false 
  8. java.awt.HeadlessException  
  9. at java.awt.GraphicsEnvironment.checkHeadless(Unknown Source)  
  10. at java.awt.Button.<init>(Unknown Source)  
  11. at HeadlessBasics.main(HeadlessBasics.java:39)  
  12. Button is created: false 

注:出于演示的目的,最初的代碼會導致此應用程序拋出2個java.awt.HeadlessExceptions異常。

作為上一種方式的替代,你可以把標準輸出信息放到一個文件中,然后把文件打印出來。在這種情況下,使用下面的命令行來運行這個例子:

java HeadlessBasics 2> standard_output.txt 

把現有的應用程序轉換為Headless模式。

你怎么把現有的應用程序轉換為可執行的headless模式?要執行此轉換的最有效的方法是分析你的源代碼以確定任何的功能都是依賴于Headless模式的。換句話說,要實現相同的功能,你必須找到那些會拋出HeadlessException異常的類和方法,然后使用獨立的headless模式替換這些類和方法。

你可以使用Java SE 6 API說明來判斷一個特定的類或方法是否支持headless模式。如果一個特定的組件不支持headless模式,你的程序需要捕獲的唯一的異常是 HeadlessException。它會在其它可能的異常之前被拋出。這也是為什么在本節的代碼示例"舉例: 使用Headless模式"中,沒有什么特殊的必要性來捕獲其它異常。

你肯定會發現其它有用的方法來使用headless模式帶來的好處。我們希望本文能幫你完成此項任務,在Java SE平臺中玩出一片新天地。 

獲取更多信息 

AWT Enhancements in J2SE 1.4: Headless Support

J2SE 1.4 platform documentation: HeadlessException

The New Modality API in Java SE 6

The java.awt.Toolkit Class

The java.awt.GraphicsEnvironment Class

關于作者 

Artem Ananiev 是位于 Saint Petersburg的Sun Microsystems公司的一名軟件工程師,俄羅斯人。之前他曾經在Abstract Window Toolkit (AWT) 項目中工作過幾年,他主要的技能領域是模態,機器人和多屏系統。 

Alla Redko  是位于 Saint Petersburg的 Sun Microsystems公司的技術作者,俄羅斯人。她為AWT項目編寫技術文檔,并且負責更新Java用戶手冊。在到Sun任職之前,她已經作為技術作者工作了八年。

英文原文:Using Headless Mode in the Java SE Platform

譯文鏈接:http://www.oschina.net/translate/using-headless-mode-in-java-se

責任編輯:林師授 來源: OSCHINA編譯
相關推薦

2017-03-20 17:20:35

iOSTensorFlow

2012-04-25 14:27:03

JavaScala

2012-04-25 14:12:12

JavaScala

2010-06-09 17:46:53

2011-07-28 15:07:23

iOS猜數游戲

2010-05-19 16:53:31

MySQL代碼

2012-04-26 13:37:43

ScalaJavaQCon

2009-01-16 09:10:39

JavaCRM系統企業應用

2017-02-23 13:51:05

2011-08-23 09:16:19

Python

2019-06-19 16:05:51

AppImageFlathubLinux

2020-02-18 09:45:44

云計算云平臺IT

2012-08-22 11:12:11

Ubuntu

2015-07-08 11:28:53

云服務平臺Docker MachDocker

2019-10-09 08:00:17

Kubernetes容器云平臺

2025-04-23 15:49:37

2017-01-13 16:29:35

華為助力云平臺

2017-05-10 14:47:37

Headless Ch頁面 Docker

2024-04-28 08:00:00

大型語言模型人工智能云平臺

2015-01-26 12:39:33

甲骨文PaaS
點贊
收藏

51CTO技術棧公眾號

亚洲性感美女99在线| 91嫩草精品| 亚洲欧洲精品一区二区精品久久久| 成人国产精品久久久| 欧美久久久久久久久久久久| 日日天天久久| 欧美二区三区的天堂| 免费h精品视频在线播放| 国产又粗又长又大视频| 激情亚洲网站| 精品国产欧美一区二区五十路 | 2020国产在线| 国产精品国产精品国产专区不蜜| 高清国产一区| 中文字幕在线播放日韩| 伊人久久大香线蕉av超碰演员| 中文一区二区视频| 亚洲一区二区在线免费| 国产精选久久| 欧美吞精做爰啪啪高潮| 亚洲熟妇国产熟妇肥婆| 黄av在线免费观看| 亚洲国产岛国毛片在线| 九九九九精品九九九九| 亚洲av无码专区在线| 免费观看在线综合色| 97视频网站入口| 国产97免费视频| 欧美系列电影免费观看| 亚洲精品美女久久久久| 国产精品19p| vam成人资源在线观看| 欧美性一二三区| 超碰网在线观看| 免费毛片b在线观看| 综合电影一区二区三区 | av在线亚洲男人的天堂| 伊人成人在线观看| 日本aⅴ免费视频一区二区三区| 午夜精品久久久99热福利| 欧美精品一区二区蜜桃| 伊人久久大香线| 日韩三级成人av网| 日本女人性生活视频| 欧美精品一区二区久久| 亚洲网站在线观看| a级片在线观看| 国产精品午夜一区二区三区| 日韩不卡中文字幕| 在线观看av中文字幕| 精品国产乱子伦一区二区| 精品捆绑美女sm三区 | 亚洲国产高清在线观看| 欧美精品日韩一区| 一起草最新网址| 亚洲精品一区二区三区在线| 日韩欧美电影一区| 最新日本中文字幕| 老牛国内精品亚洲成av人片| 亚洲福利影片在线| 黄色性生活一级片| 欧美人与拘性视交免费看| 亚洲一区二区黄| 国产一二三四区在线| 999久久久精品国产| 久久韩剧网电视剧| 精品97人妻无码中文永久在线 | 欧美激情一区二区三区全黄| 天堂资源在线亚洲资源| 青青青青在线| 亚洲人成精品久久久久| www.avtt| 精品3atv在线视频| 欧美日韩亚洲高清一区二区| 精品国产乱码久久久久久1区二区| 国产精品日本一区二区三区在线| 精品播放一区二区| av网站免费在线播放| 成人激情电影在线| 超薄丝袜一区二区| 国产精品二区一区二区aⅴ| 亚洲影院免费| 91精品久久久久久久久久| www.国产视频| 2021国产精品久久精品| 亚洲综合欧美日韩| xxx.xxx欧美| 欧美性一级生活| 中文字幕18页| 成人网18免费网站| 欧美精品video| 伊人网av在线| 99视频一区二区三区| 色一情一乱一伦一区二区三区| 黄色在线免费| 欧美网站在线观看| 深爱五月综合网| 国产videos久久| 欧美国产精品va在线观看| 波多野结衣毛片| 懂色av中文字幕一区二区三区| 奇米精品在线| av2020不卡| 在线不卡欧美精品一区二区三区| 日韩www视频| 国产精品福利在线观看播放| 4438全国成人免费| www.超碰在线.com| 国产精品视频观看| 爱福利视频一区二区| 国产一区二区高清在线| 亚洲人成在线免费观看| 久久久久99精品| 精品无人区卡一卡二卡三乱码免费卡| 久久99久久精品国产| av网站大全在线| 欧美在线视频全部完| 中文字幕精品久久久| 中文精品久久| 国产日韩视频在线观看| 你懂的视频在线免费| 亚洲成人自拍偷拍| 精品国产鲁一鲁一区二区三区| 国内黄色精品| 欧美一区二区三区免费观看| 成人精品在线播放| 亚洲女人****多毛耸耸8| 国产一二三四在线视频| 香蕉久久精品| 欧洲成人在线视频| 无套内谢的新婚少妇国语播放| 亚洲一区二区视频在线| 久久综合在线观看| 久久久久免费av| 国产在线久久久| 91精品国产91久久久久游泳池| 在线看国产日韩| 日本高清www| 亚洲专区在线| 久久综合色一本| 在线天堂资源| 亚洲欧洲xxxx| 超碰在线97观看| 中文字幕乱码一区二区免费| 亚洲乱码国产一区三区| 国产精品嫩草影院在线看| 日韩免费高清在线观看| 精品影院一区| 欧美亚洲一区三区| 亚洲AV无码成人精品区明星换面 | 天堂av在线播放| 午夜日韩在线观看| 日韩 中文字幕| 视频一区二区三区在线| 亚洲在线色站| 免费观看亚洲天堂| 欧美激情2020午夜免费观看| 亚洲老妇色熟女老太| 亚洲成人精品在线观看| 中国黄色a级片| 日韩高清在线电影| 特级毛片在线免费观看| 一区二区三区在线免费看| 高清欧美性猛交| 加勒比一区二区三区在线| 欧美天堂亚洲电影院在线播放| 国精品人伦一区二区三区蜜桃| 国产精品自拍在线| 免费无码毛片一区二三区| 欧美男男gaytwinkfreevideos| 国产精品免费视频xxxx| 福利视频在线| 日韩精品日韩在线观看| 成人一级免费视频| 亚洲免费视频成人| 日本少妇色视频| 老司机午夜精品| 18禁裸男晨勃露j毛免费观看 | 亚洲成人a**址| 日本高清精品| 国外成人性视频| 北岛玲一区二区三区| 欧美一区二区三区性视频| 精品人妻在线播放| 国产欧美一区二区精品性色超碰 | 日韩伦理一区二区三区| 国产精品久久久久久久9999| av香蕉成人| 亚洲精品在线观看www| 一级欧美一级日韩| 亚洲成人一区二区| 欧美美女性生活视频| 成人av综合在线| 欧美美女一级片| 在线午夜精品| 一区二区视频在线观看| 久久狠狠久久| 成人性生交大片免费看小说| 国产亚洲成av人片在线观看| 久久精品视频中文字幕| 日韩午夜影院| 欧美成人在线直播| 久草热在线观看| 欧美日韩裸体免费视频| 青娱乐国产盛宴| 国产精品久久久久久久久图文区 | 亚洲另类春色校园小说| 成人在线观看av| 亚洲黑人在线| 国产成人精品久久二区二区91 | 亚洲成人7777| 亚洲xxxx3d动漫| 国产欧美中文在线| 大地资源二中文在线影视观看| 国内成+人亚洲+欧美+综合在线| 国产精品亚洲a| 国产日韩一区| r级无码视频在线观看| 欧美国产综合| 在线国产伦理一区| 不卡视频在线| 欧洲精品久久| 亚洲男人都懂第一日本| 精品国产免费久久久久久尖叫| 国产一区二区在线观| 国产精自产拍久久久久久| 国产高清不卡| 日本sm极度另类视频| 丝袜诱惑一区二区| 久久久久久久一区二区| 羞羞视频在线观看免费| 另类专区欧美制服同性| 欧美一区二区三区在线观看免费| 国产一区二区三区视频免费| 国产精品一区在线看| 亚洲女人天堂av| 日韩毛片在线一区二区毛片| 日韩精品在线视频美女| 欧美熟女一区二区| 亚洲高清不卡av| 无码精品人妻一区二区| 日韩av在线播放资源| 天堂网在线播放| 亚洲电影中文字幕| 日本在线视频1区| 日韩电视剧在线观看免费网站| 五月天婷婷视频| 日韩精品极品在线观看播放免费视频| 午夜视频福利在线| 亚洲精品视频在线播放| 天堂网www中文在线| 亚洲乱码国产乱码精品精天堂| 久热av在线| 中文字幕久热精品视频在线| 伊人免费在线| 久久精品男人天堂| 欧美女同一区| 69视频在线播放| 99久久婷婷国产综合精品首页| 国产日韩在线亚洲字幕中文| 国产精品1区| 国产精品日韩高清| 自拍自偷一区二区三区| 一级日韩一区在线观看| 亚洲国产不卡| 国产午夜大地久久| 日韩黄色一级片| 亚洲五月激情网| 成人国产精品免费网站| 国产免费一区二区三区网站免费| 国产精品久久久久影院| 久久精品99久久久久久| 欧美性猛交xxxx免费看久久久| 国产美女www爽爽爽| 91精品午夜视频| 日韩一级免费毛片| 中文字幕国产精品久久| 在线观看三级视频| 奇米4444一区二区三区| 成人在线日韩| 久久天天狠狠| 99欧美视频| 免费成人在线视频网站| 极品少妇xxxx精品少妇偷拍 | 精品伊人久久久| 亚洲精品8mav| 亚洲午夜av| 日韩亚洲在线视频| 国产一区二区三区免费观看| 中文字幕免费高清视频| 国产精品久久二区二区| 国产真实的和子乱拍在线观看| 欧美在线啊v一区| 黄色片网站免费在线观看| 丝袜美腿精品国产二区| 2020国产在线| 91青草视频久久| 国产一区日韩| 欧美一级视频免费看| 紧缚奴在线一区二区三区| 亚洲天堂网一区二区| 一区二区三区精品视频在线| 日韩欧美国产另类| 亚洲国内精品视频| 中文在线手机av| 国产精品视频免费在线| 日本成人7777| 国产传媒久久久| 九色综合国产一区二区三区| 女人被狂躁c到高潮| 夜夜嗨av一区二区三区| 91麻豆视频在线观看| 亚洲视频综合网| 少妇淫片在线影院| 国产精品一区二区三区观看| 亚州av乱码久久精品蜜桃| 天天爱天天操天天干| 久久人人爽人人爽| 国产精品500部| 日韩一级二级三级| 超碰在线免费播放| 国产伦精品免费视频| 欧美裸体在线版观看完整版| 大肉大捧一进一出好爽视频| 成人精品小蝌蚪| 精品午夜福利视频| 日韩欧美亚洲另类制服综合在线 | 一个色免费成人影院| 日日碰狠狠添天天爽超碰97| 国产ts人妖一区二区| 婷婷色中文字幕| 欧美一级午夜免费电影| 免费网站看v片在线a| 国产日韩在线看| 91久久夜色精品国产按摩| 性生活免费在线观看| 国产色产综合色产在线视频 | 欧美一级日韩免费不卡| 黄色免费在线看| 91精品国产99久久久久久红楼 | 国产精品久久久久久久久久久免费看 | 欧美亚洲动漫另类| jizz在线免费观看| 国产精品亚洲视频在线观看| 色综合天天爱| 夜夜夜夜夜夜操| 亚洲激情中文1区| www精品国产| 国内精品视频一区| 日韩精品免费一区二区夜夜嗨| 亚洲乱码中文字幕久久孕妇黑人| 99精品视频在线观看免费| 亚洲黄网在线观看| 色琪琪综合男人的天堂aⅴ视频| 亚洲电影二区| 9191国产视频| gogogo免费视频观看亚洲一| 九九热在线视频播放| 亚洲人成啪啪网站| 国产精品第一| 99亚洲国产精品| 波多野结衣在线aⅴ中文字幕不卡| 亚洲男人的天堂在线视频| 亚洲天堂av图片| 国产色99精品9i| 精品视频在线观看一区| 国产三级一区二区| 99在线精品视频免费观看软件| 欧美日韩第一页| 怕怕欧美视频免费大全| 午夜免费一级片| 午夜欧美视频在线观看| 成人综合影院| 91精品久久香蕉国产线看观看 | 爱爱爱爱免费视频| 亚洲精品日韩专区silk| 亚洲区小说区图片区| 国产精品一二三视频| 伊人激情综合| 懂色av粉嫩av浪潮av| 精品久久久久久久久久久久久久久久久 | 91中文字幕一区| 一区二区三区四区五区精品视频 | 91精品又粗又猛又爽| 色94色欧美sute亚洲线路一久| 久久国产精品一区| 久久久久久久久久码影片| 久久99热99| 国产精品久免费的黄网站| 久久中文字幕在线| 亚洲图区在线| 精品国产午夜福利在线观看| 色94色欧美sute亚洲线路一ni | 黄色国产在线视频| 精品视频在线免费| 色资源二区在线视频| 欧美性受黑人性爽| 国产欧美一区二区精品仙草咪| 噜噜噜久久,亚洲精品国产品| 国产精品三级在线|