久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java Swing權(quán)威指南:Spinner Model Controls

瀏覽:114日期:2024-06-14 16:15:51
內(nèi)容: [J2SE5.0]Java Swing權(quán)威指南:Spinner Model Controls作者:John Zukowski譯者:glorywine版權(quán)聲明:任何獲得Matrix授權(quán)的網(wǎng)站,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章原始出處和作者信息及本聲明作者:John Zukowski;glorywine原文地址:http://www.javaworld.com/javaworld/jw-08-2005/jw-0829-jspinner.html中文地址:http://www.matrix.org.cn/resource/article/44/44000_Java_Swing.html關(guān)鍵詞: Java Swing Spinner Model ControlsJSpinner工作起來(lái)好像是在JList或者JComboBox中間放了一個(gè)JFormattedTextField。在JList或者JComboBox中,用戶可以提前設(shè)定好要輸入的值。JSpinner也提供這樣的一種機(jī)制。這個(gè)控件的另一個(gè)部分是JFormattedTextField。如何顯示和輸入不由那些小的控制格控制,比如JList。相反,可以通過(guò)JFormattedTextField來(lái)輸入或通過(guò)邊上的兩個(gè)小箭頭來(lái)瀏覽不同的可用的值。圖示1顯示了Spinner伴隨不同的輸入類型是什么樣子。圖示1的頂端的JSpinner是一個(gè)用來(lái)顯示法語(yǔ)星期,通過(guò)SpinnerListModel。中間的,是一個(gè)通過(guò)SpinnerDateModel顯示日期的JSpinner。底部的是使用SpinnerNumberModel的JSpinner。每一個(gè)都是通過(guò)各自神秘的方式,在本文的后面我們將要學(xué)習(xí)。圖示1.JSpinner實(shí)例要?jiǎng)?chuàng)建和操縱JSpinner,許多類都將被調(diào)用,最重要的是JSpinner自己。最重要的兩個(gè)準(zhǔn)素集包括SpinnerModel接口,包括可選擇的集合中的選項(xiàng),還有,JSpinner.DefaultEditor的實(shí)現(xiàn),用來(lái)捕獲所有選擇。慶幸的是,許多其它調(diào)用的類都是在后臺(tái)工作的,比如,一旦你給SpinnerNumberModel提供了數(shù)字的范圍,并且用這個(gè)類來(lái)協(xié)助Spinner,你的工作實(shí)際上是完成了。創(chuàng)建JSpinner控件JSpinner類包括兩個(gè)構(gòu)造函數(shù)來(lái)初始化控件:public JSpinner()JSpinner spinner = new JSpinner();public JSpinner(SpinnerModel model)SpinnerModel model = new SpinnerListModel(args);JSpinner spinner = new JSpinner(model);開(kāi)始的時(shí)候可以沒(méi)有數(shù)據(jù)模型,后面可以使用它來(lái)跟蹤JSpinner的方法。另一個(gè)方法,在創(chuàng)建這個(gè)控件的時(shí)候使用完整的模型,實(shí)現(xiàn)SpinnerModel接口,它里面有三個(gè)具體的子類可以使用:SpinnerDateModel,SpinnerListModel和SpinnerNumberModel,伴隨著他們的抽象父類AbstractSpinnerModel。如果不指名模型,那么SpinnerNumberModel將默認(rèn)使用。而顯示和編輯的控件是JFormattedTextField,編輯的基本功能是通過(guò)一系列JSpinner的內(nèi)部類實(shí)現(xiàn)的:DateEditor,ListEditor和NumberFormat,還有父類中DefaultEditor的支持。JSpinner屬性除了創(chuàng)建JSpinner對(duì)象之外,你還可以通過(guò)表一中的九個(gè)屬性中的一個(gè)來(lái)進(jìn)行配置。Table 1. JSpinner 屬性value屬性中的值允許你更改當(dāng)前控件的設(shè)置,nextValue和perviousValue可以使你以不同的方向察看模型中的入口。使用ChangeListener來(lái)監(jiān)聽(tīng)JSpinner eventsJSpinner直接支持一種事件監(jiān)聽(tīng):changeListener。在別的地方,當(dāng)commitEdit()方法被調(diào)用,這個(gè)事件將被觸發(fā),告訴你spinner的值發(fā)生改變。為了證明,列表1聯(lián)系到一個(gè)自定義的ChangeListener,與圖示1的程序相關(guān)聯(lián)。列表 1. JSpinner with ChangeListener import java.awt.*;import javax.swing.*;import javax.swing.event.*;import java.text.*;import java.util.*;public class SpinnerSample { public static void main (String args[]) { Runnable runner = new Runnable() { public void run() { JFrame frame = new JFrame('JSpinner Sample'); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); DateFormatSymbols symbols = new DateFormatSymbols(Locale.FRENCH); ChangeListener listener = new ChangeListener() { public void stateChanged(ChangeEvent e) { System.out.println('Source: ' + e.getSource()); } }; String days[] = symbols.getWeekdays(); SpinnerModel model1 = new SpinnerListModel(days); JSpinner spinner1 = new JSpinner(model1); spinner1.addChangeListener(listener); JLabel label1 = new JLabel('French Days/List'); JPanel panel1 = new JPanel(new BorderLayout()); panel1.add(label1, BorderLayout.WEST); panel1.add(spinner1, BorderLayout.CENTER); frame.add(panel1, BorderLayout.NORTH); SpinnerModel model2 = new SpinnerDateModel(); JSpinner spinner2 = new JSpinner(model2); spinner2.addChangeListener(listener); JLabel label2 = new JLabel('Dates/Date'); JPanel panel2 = new JPanel(new BorderLayout()); panel2.add(label2, BorderLayout.WEST); panel2.add(spinner2, BorderLayout.CENTER); frame.add(panel2, BorderLayout.CENTER); SpinnerModel model3 = new SpinnerNumberModel(); JSpinner spinner3 = new JSpinner(model3); spinner3.addChangeListener(listener); JLabel label3 = new JLabel('Numbers'); JPanel panel3 = new JPanel(new BorderLayout()); panel3.add(label3, BorderLayout.WEST); panel3.add(spinner3, BorderLayout.CENTER); frame.add(panel3, BorderLayout.SOUTH); frame.setSize(200, 90); frame.setVisible (true); } }; EventQueue.invokeLater(runner); }運(yùn)行這個(gè)程序可以示范listener的用法(當(dāng)然,你也會(huì)發(fā)現(xiàn)更多關(guān)于ChangeListener的有意義的方法)。定制JSpinner的外觀同所有的Swing控件,JSpinner在不同的系統(tǒng)定義look-and-feel類型下,擁有不同的外觀,如示圖2。這個(gè)控件期初看起來(lái)像一個(gè)textfield,不同點(diǎn)是繪制了兩個(gè)箭頭。示圖 2. JSpinner under different look-and-feel types集合中的11個(gè)UIResource屬性在表格2中列舉,有限的方法繪制text field和箭頭。Table 2. JSpinner UIResource 元素SpinnerModel 接口到目前,我們已經(jīng)看到了如何同一個(gè)主JSpinner類連接,SpinnerModel接口是控件的數(shù)據(jù)模型,SpinnerModel的定義如下:public interface SpinnerModel { // Properties public Object getValue(); public void setValue(Object); public Object getNextValue(); public Object getPreviousValue(); // Listeners public void addChangeListener(ChangeListener); public void removeChangeListener(ChangeListener);}SpinnerModel中的六個(gè)方法直接繪制了JSpinner,而JSpinner的方法間接調(diào)用模塊中的方法,在監(jiān)聽(tīng)的狀況下,事件將聯(lián)系到監(jiān)聽(tīng)器。AbstractSpinnerModel類AbstractSpinnerModel類基本要實(shí)現(xiàn)的是SpinnerModel接口,它提供了管理和通知的監(jiān)聽(tīng)列表,子類必須實(shí)現(xiàn)接口中的四個(gè)方法,SpinnerModel中的三個(gè)具體實(shí)現(xiàn)如下:SpinnerDateModel,SpinnerListModel和SpinnerNumberModel。SpinnerDateModel類從名字可以推斷出,SpinnerDateModel提供了數(shù)據(jù)的選擇。這個(gè)類有兩個(gè)構(gòu)造函數(shù):一個(gè)默認(rèn)選擇所有的數(shù)據(jù),另一個(gè)要求你給出范圍。public SpinnerDateModel()SpinnerModel model = new SpinnerDateModel();JSpinner spinner = new JSpinner(model);public SpinnerDateModel(Date value, Comparable start, Comparable end, int calendarField)Calendar cal = Calendar.getInstance();Date now = cal.getTime();cal.add(Calendar.YEAR, -50);Date startDate = cal.getTime();cal.add(Calendar.YEAR, 100);Date endDate = cal.getTime();SpinnerModel model = new SpinnerDateModel(now, startDate, endDate, Calendar.YEAR);JSpinner spinner = new JSpinner(model);如果不指名任何參數(shù),就沒(méi)有開(kāi)始和結(jié)束點(diǎn)。下面的例子展示了使用參數(shù)來(lái)表示100年的范圍。最后一個(gè)成員變量應(yīng)該是Calendar類中的一個(gè)定值:· Calendar.AM_PM · Calendar.DAY_OF_MONTH · Calendar.DAY_OF_WEEK · Calendar.DAY_OF_WEEK_IN_MONTH · Calendar.DAY_OF_YEAR · Calendar.ERA · Calendar.HOUR · Calendar.HOUR_OF_DAY · Calendar.MILLISECOND · Calendar.MINUTE · Calendar.MONTH · Calendar.SECOND · Calendar.WEEK_OF_MONTH · Calendar.WEEK_OF_YEAR · Calendar.YEAR注意:SpinnerDateModel不包含任何Calendar類中的時(shí)間域,所以不能通過(guò)SpinnerDateModel在JSpinner中翻轉(zhuǎn)。表格3列出了SpinnerModel中的三個(gè)屬性,四個(gè)關(guān)于SpinnerDateModel。Table 3. SpinnerDateModel 屬性典型地,唯一的新屬性中你將要用來(lái)獲得最終的日期,盡管所有的結(jié)果都被包裹在getValue()中,以適當(dāng)?shù)臄?shù)據(jù)類型。如果在構(gòu)造函數(shù)中提供了數(shù)據(jù)的表示范圍,那么previous和next的值將是null,在邊界條件下。SpinnerListModelSpinnerListModel提供了從一個(gè)入口列表中選擇或者至少是字符串表述,這個(gè)類有三個(gè)構(gòu)造函數(shù):public SpinnerListModel()SpinnerModel model = new SpinnerListModel();JSpinner spinner = new JSpinner(model);public SpinnerListModel(List<?> values)List list = args;SpinnerModel model = new SpinnerListModel(list);JSpinner spinner = new JSpinner(model);public SpinnerListModel(Object[] values)SpinnerModel model = new SpinnerListModel(args);JSpinner spinner = new JSpinner(model);當(dāng)沒(méi)有參數(shù)提供時(shí),這個(gè)模型包括一個(gè)元素:字符串empty。List版保留一個(gè)對(duì)list的引用。而不是list的拷貝。如果改變了list,那么模型中的list也將改變。數(shù)組版本的創(chuàng)建了一個(gè)私有的內(nèi)部類,并且實(shí)例化一個(gè)list。對(duì)于list和數(shù)組版本,初始選擇的是第一個(gè)元素,否則將拋出一個(gè)IllegalArgumentException異常。如表格4顯示,屬性中增添的是set和get list。Table 4. SpinnerListModel 屬性SpinnerNumberModel類SpinnerNumberModel提供了從一個(gè)開(kāi)區(qū)間或閉區(qū)間選擇數(shù)字的模式,數(shù)字可以使Number類的所有子類,包括Integer和Double。他有四個(gè)構(gòu)造函數(shù)。public SpinnerNumberModel()SpinnerModel model = new SpinnerNumberModel();JSpinner spinner = new JSpinner(model);public SpinnerNumberModel(double value, double minimum, double maximum, double stepSize)SpinnerModel model = new SpinnerNumberModel(50, 0, 100, .25);JSpinner spinner = new JSpinner(model);public SpinnerNumberModel(int value, int minimum, int maximum, int stepSize)SpinnerModel model = new SpinnerNumberModel(50, 0, 100, 1);JSpinner spinner = new JSpinner(model);public SpinnerNumberModel(Number value, Comparable minimum, Comparable maximum, Number stepSize)Number value = new Integer(50);Number min = new Integer(0);Number max = new Integer(100);Number step = new Integer(1);SpinnerModel model = new SpinnerNumberModel(value, min, max, step);JSpinner spinner = new JSpinner(model);如果最大或最小值為null,則為開(kāi)區(qū)間。對(duì)于沒(méi)有參數(shù)的,初始值為1,步進(jìn)為1。步進(jìn)是整形的,如果你設(shè)為.333,那么將不會(huì)完成。表格5展示了SpinnerNumberModel的屬性:Table 5. SpinnerNumberModel 屬性自定義模型一般來(lái)說(shuō),可用的JSpinner模型已經(jīng)足夠了,所以沒(méi)有必要?jiǎng)?chuàng)建他的子類了。但是,并不是所有場(chǎng)合都能滿足。比如,你可能希望使用一個(gè)包裝了SpinnerListModel的模型,代替停止在第一個(gè)或最后一個(gè)元素,他包裝了另一個(gè)結(jié)束。在列表2中給出了具體實(shí)現(xiàn):Listing 2. RolloverSpinnerListModel 類import javax.swing.*;import java.util.*;public class RolloverSpinnerListModel extends SpinnerListModel { public RolloverSpinnerListModel(List values) { super(values); } public RolloverSpinnerListModel(Object[] values) { super(values); } public Object getNextValue() { Object returnValue = super.getNextValue(); if (returnValue == null) { returnValue = getList().get(0); } return returnValue; } public Object getPreviousValue() { Object returnValue = super.getPreviousValue(); if (returnValue == null) { List list = getList(); returnValue = list.get(list.size() - 1); } return returnValue; }}JSpinner編輯器對(duì)于JSpinner每個(gè)可用的模型,一個(gè)次要的支持類,JSpinner的一個(gè)內(nèi)部類。然而這個(gè)模塊可以控制控件是否可選,JSpinner編輯器允許你控制如何顯示和編輯每個(gè)可選的值。JSpinner.DefaultEditor類JSpinner的setEditor()方法允許你將任何Jcomponent作為JSpinner的編輯器,當(dāng)然你可以那樣做,更典型的是,你將用JSpinner.DefaultEditor的子類作運(yùn)行。以JformattedTextField作為簡(jiǎn)單的編輯器工作,將提供所有你需要的基本功能。它包括一個(gè)基本的構(gòu)造函數(shù):public JSpinner.DefaultEditor(JSpinner spinner)JSpinner spinner = new JSpinner();JComponent editor = JSpinner.DefaultEditor(spinner);spinner.setEditor(editor);在表格6中可以看到,有兩個(gè)屬性:Table 6. JSpinner.DefaultEditor properties 在不知道使用的是哪個(gè)模型工作的情況下,在這個(gè)級(jí)別的你可以做的是改變JformattedTextField中的文字顯示。更典型的是,你將改變模型編輯器的某些自定義方面。JSpinner.DateEditor類DateEditor允許你定制不同的日期顯示方式,使用java.text包中SimpleDateFormat類。察看Javadoc了解更多的關(guān)于SimpleDateFormat的可用格式模式。如果你不喜歡默認(rèn)的地顯示方式,可以通過(guò)給構(gòu)造函數(shù)的第二個(gè)參數(shù)傳遞一個(gè)新參數(shù)來(lái)改變顯示模式。public JSpinner.DateEditor(JSpinner spinner)SpinnerModel model = new SpinnerDateModel();JSpinner spinner = new JSpinner(model);JComponent editor = JSpinner.DateEditor(spinner);spinner.setEditor(editor);public JSpinner.DateEditor(JSpinner spinner, String dateFormatPattern)SpinnerModel model = new SpinnerDateModel();JSpinner spinner = new JSpinner(model);JComponent editor = JSpinner.DateEditor(spinner, 'MMMM yyyy');spinner.setEditor(editor);默認(rèn)情況,格式是M/d/yy h:mm a或者12/25/04 12:34 PM 代表2004年的圣誕節(jié)的某個(gè)時(shí)間。后面的例子將要顯示2004 December。編輯器的兩個(gè)屬性在表格7中。Table 7. JSpinner.DateEditor屬性JSpinner.ListEditor類當(dāng)使用SpinnerListModel類工作時(shí),ListEditor不支持任何特殊格式。而是提供了前置類型支持。既然模塊的所有入口都知道了,編輯器將嘗試匹配用戶輸入的字符。這里只有一個(gè)構(gòu)造函數(shù),但是你可能幾乎用不到。public JSpinner.ListEditor(JSpinner spinner) 在表格8中將看到ListEditor只有一個(gè)屬性:JSpinner.NumberEditor類NumberEditor和DateEditor的工作方式很相似,允許你輸入定制的顯示模式。代替SimpleDateFormat工作,NumberEditor可以協(xié)助java.text包中的DecimalFormat類。就像DateEditor一樣,他又兩個(gè)構(gòu)造函數(shù):public JSpinner.NumberEditor(JSpinner spinner)SpinnerModel model = new SpinnerNumberModel(50, 0, 100, .25);JSpinner spinner = new JSpinner(model);JComponent editor = JSpinner.NumberEditor(spinner);spinner.setEditor(editor);public JSpinner.NumberEditor(JSpinner spinner, String decimalFormatPattern)SpinnerModel model = new SpinnerNumberModel(50, 0, 100, .25);JSpinner spinner = new JSpinner(model);JComponent editor = JSpinner.NumberEditor(spinner, '#,##0.###');spinner.setEditor(editor);第二個(gè)構(gòu)造函數(shù)使用默認(rèn)的字符串格式。如果數(shù)字太大,將使用逗號(hào)。如果結(jié)果是一個(gè)完整的數(shù),將不會(huì)用十進(jìn)制顯示。表格9中,顯示editor的兩個(gè)屬性。Table 9. JSpinner.NumberEditor 屬性總結(jié)在這篇文章中,你學(xué)習(xí)到了Swing中的JSpinner控件。當(dāng)你要控制某些選擇在一定的范圍中時(shí),JSpinner可以讓你通過(guò)翻滾來(lái)選擇需要的值。你學(xué)習(xí)到了如何提供這些要選擇的值:通過(guò)使用SpinnerDateModel和DateEditor,SpinnerListModel和ListEditor,SpinnerNumberModel和NumberEditor來(lái)設(shè)置日期。資源·javaworld.com:javaworld.com·Matrix-Java開(kāi)發(fā)者社區(qū):http://www.matrix.org.cn/·這篇文章節(jié)選自 The Definitive Guide to Java Swing, Third Edition, John Zukowski (Apress, June 2005; ISBN: 1590594479): http://www.apress.com/book/bookDisplay.html?bID=393關(guān)于作者John Zukowski是一個(gè)自由作者,也是JZ Ventures的java投資顧問(wèn)。他是Sun’s Java Develop Connection,IBM’s developeWorks和JavaWorld的專欄作家。他最近一本書是Java Collections,Definitive Guide to Swing for java2,和Master java 1.4。他也是Borland’s JBuilder的作者:No Experience Required。 Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd [J2SE5.0]Java Swing權(quán)威指南:Spinner Model Controls作者:John Zukowski譯者:glorywine版權(quán)聲明:任何獲得Matrix授權(quán)的網(wǎng)站,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章原始出處和作者信息及本聲明作者:John Zukowski;glorywine原文地址:http://www.javaworld.com/javaworld/jw-08-2005/jw-0829-jspinner.html
標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 免费av片网站 | 成人欧美一区二区三区黑人孕妇 | 一级片在线观看 | 亚洲成人在线观看视频 | 亚洲一本 | 九九porny88av| 美女福利视频 | 国产一区二区影院 | 欧美成人精品一区二区三区 | 黑人巨大精品欧美一区二区三区 | 日韩精品一区二区三区老鸭窝 | 亚洲一区在线日韩在线深爱 | 亚洲精品一区二区三区在线 | 最新av在线网址 | www亚洲成人 | 国产在线播 | 久久综合九色综合欧美狠狠 | 精精国产xxxx视频在线 | 国产精品女人视频 | 亚洲欧美综合精品久久成人 | 男女视频在线免费观看 | 综合伊人久久 | 国产91久久精品一区二区 | 一级欧美 | 91中文在线 | 天天干人人 | 成人欧美 | 国产一区二区三区免费看 | 精品免费在线 | 国产精品中文字幕在线播放 | 老妇激情毛片免费 | 欧美视频三级 | 成人欧美一区二区三区 | 成人午夜在线 | 国产精品一区二区三区四区 | 久久视频在线 | 日韩国产 | 亚洲精品乱码久久久久久麻豆不卡 | 色婷婷久久久久swag精品 | 中文日韩在线 | 欧美一区永久视频免费观看 | 99re热精品视频 | 99热首页| igao视频 | 亚洲八区 | 日韩高清在线 | 国产一区二区在线看 | 久久一 | 久久99精品久久久久久琪琪 | 欧美成人一区二区三区片免费 | 精品久久久久久久久久久院品网 | 国产99久久精品一区二区永久免费 | 久久久久亚洲视频 | 欧美精品一区二区三区一线天视频 | 成人午夜电影网 | 欧美成人a | 欧美伦理电影一区二区 | 国产一二三在线 | 久久91视频 | 成人羞羞网站 | a级毛片基地| 夜夜久久 | 伊人爽 | 久久精品国产亚洲一区二区三区 | 亚洲一区二区三区观看 | 亚洲九九 | 欧美日韩一区二区在线播放 | 久久久久久久久综合 | 欧美视频三区 | 久久99精品久久久水蜜桃 | 国产福利91精品一区二区 | 国产一级片一区二区三区 | 亚洲成人观看 | 婷婷丁香激情网 | 一区二区三区亚洲视频 | 成人片在线播放 | 欧美日韩激情在线一区二区三区 | 美女91 | 国产精品456在线影视 | 久久久久成人精品 | 亚洲不卡视频 | 亚洲在线播放 | 久久久久久久国产精品 | 国产精品第一区第27页 | 亚洲伦理影院 | 亚洲一区二区免费在线观看 | 亚洲成人精品 | 欧美视频免费在线 | 午夜看看 | 亚洲精品一区二区三区 | 999在线观看精品免费不卡网站 | 亚洲精品国产第一综合99久久 | 久久99国产精品免费网站 | 伊人网av | 欧美精品被 | 亚洲精品乱码久久久久膏 | 青青久久 | 欧美综合一区二区 | 亚洲激情在线 | 伊人网视频在线观看 | 久久69精品久久久久久久电影好 | 黄色在线免费观看 | 日韩成人在线播放 | 欧美一区二区激情三区 | 天天干狠狠干 | 久久午夜视频 | 天天射天天干 | 欧美区国产区 | 91午夜伦伦电影理论片 | 亚洲一区二区在线看 | 日本不卡一区二区三区在线观看 | 国产大片在线观看 | 成人亚洲一区 | 精品国产天堂 | 国产精成人 | 欧美激情五月 | 国产一级一级 | 青楼18春一级毛片 | 日韩成人av在线 | 黄色一级片黄色一级片 | 亚洲精品久久久一区二区三区 | 在线免费观看黄 | 一区在线观看视频 | 性免费网站 | 久久久a| 国产一区国产二区在线观看 | 美女视频一区二区三区 | 久草视频在线播放 | 九一视频在线观看 | 欧美一级片免费在线观看 | 亚洲欧美日韩在线 | 91成人在线看 | 欧美精品在线观看 | 欧美一区二区三区 | 日韩www | 中文字幕一区二区三区四区 | 日韩欧美国产精品综合嫩v 久久久久久国产精品高清 国产目拍亚洲精品99久久精品 | 亚洲欧美日韩另类精品一区二区三区 | 国产乡下妇女做爰视频 | 涩涩视频在线观看 | 天天操夜夜操 | 国产精品久久久久久久久 | 狠狠综合| 视频一区二区国产 | 精品久久99 | 成人毛片视频网站 | 久久精品亚洲一区二区 | 欧美理伦片在线播放 | 日韩欧美一区二区三区视频 | 日韩欧美在线视频免费观看 | 日韩久久一区二区 | 久草视频在线观 | 波多野结衣先锋影音 | 这里精品 | 人人干人人干人人 | 国产精品午夜在线观看 | 久久久久久久久一区二区三区 | 午夜视频精品 | 品久久久久久久久久96高清 | 97国产精品 | 精品久久久久国产免费 | 99色在线视频 | 黄色毛片在线观看 | 97色综合 | 免费的一级黄色片 | 国产精品成人品 | 国产精品久久久久久久久久 | 91亚洲日本aⅴ精品一区二区 | 久久这里有精品 | 91精品国产乱码久久久久久久久 | 欧美激情精品久久久久久免费 | 日韩毛片在线观看 | 精品日韩欧美一区二区在线播放 | 国产精品美女久久久久久久网站 | 欧美日韩成人在线 | 日韩欧美视频 | 久久亚洲欧美日韩精品专区 | 性视频网站免费 | 欧美大片网站 | 成人影音| 国产欧美精品区一区二区三区 | 日日干天天操 | 国产精品人人做人人爽 | 国产成人99久久亚洲综合精品 | 一级全黄少妇性色生活片毛片 | 亚洲精品久久久久avwww潮水 | 亚洲人成电影网 | 国产免费自拍 | 亚洲一级毛片 | 日韩一区二区在线观看 | 精品天堂| 成人国产在线 | 久久成人av | 天天舔天天干 | 精品国产乱码久久久久久88av | 中文字幕 国产精品 | 国产一区不卡 | 久草精品视频 | 免费中文字幕 | 亚洲精品中文字幕 | 午夜视频 | 成人在线精品视频 | 国产成人福利在线观看 | 在线国产专区 | 亚洲人成人一区二区在线观看 | av在线官网| 成人国产精品久久 | 日韩精品一区二区三区四区视频 | 久久叉 | 免费毛片网站 | 91成人在线| 久久久精品国产 | 日韩和的一区二区 | 精品久久久久久国产 | 性一交一乱一透一a级 | 日韩在线1| 中文字幕在线观看第一页 | 久久99精品久久久久久琪琪 | 青草青草久热精品视频在线观看 | 波多野结衣一区二区三区高清 | 超碰3 | 国产精品www | 激情小视频网站 | 日日爱999| www久久精品 | 亚洲欧洲在线观看 | 黄色一级大片在线免费看产 | 国产成人一区二区三区 | 中文在线观看www | 亚洲日本韩国欧美 | 波多野结衣一区二 | 精品一区免费 | 自拍视频免费 | 成人免费视频网址 | 日韩免费视频中文字幕 | 久久久久精 | 亚洲一区二区三区四区在线 | 欧美日韩亚洲成人 | av网站免费看| 国产精品视频专区 | 久久精品视频网站 | 精品中文字幕在线观看 | 久久久精品网站 | 日韩欧美综合 | 日韩精品一区二区三区中文字幕 | 欧美日韩在线电影 | 国产中文在线播放 | 欧美一区在线视频 | 国产成人高清视频 | www.麻豆| 97狠狠 | 姐姐在线观看动漫第二集免费 | 成人免费视频网站在线看 | 国产男人天堂 | 久草免费在线视频 | 日韩爱爱免费视频 | 精品一区免费观看 | 国产精彩视频 | 手机在线观看av | 日韩视频久久 | 中文字幕影院 | 蜜月aⅴ免费一区二区三区 99re在线视频 | 精品国产91久久 | 91免费观看国产 | 日韩欧美h| 91超碰caoporn97人人 | 91久久久久 | 99精品一区二区 | 国产精品资源在线 | 亚洲欧美久久久 | 少妇黄色一级片 | 99精品在线 | 成人在线观看免费视频 | 成人欧美一区二区三区在线播放 | 国产一级视频在线观看 | 久久这里只有精品首页 | 蜜桃视频网站在线观看 | 欧美一区二区在线观看 | 一级黄色录象片 | 香蕉大人久久国产成人av | 国产成人在线视频 | 免费国产一区 | 欧美日韩亚洲成人 | 亚洲国产天堂久久综合 | 日韩在线观看视频一区二区三区 | 日韩一区二 | 日日摸天天做天天添天天欢 | 五月婷婷狠狠爱 | 精品无码久久久久国产 | 欧美精品一区二区三区在线四季 | 欧美日韩精品免费观看视频 | 欧美日韩在线视频一区二区 | 国产精品欧美一区二区三区 | av在线免费播放 | 免费亚洲网站 | 色视频网站在线观看 | 成人片免费看 | 欧洲免费毛片 | 欧美日韩专区 | 亚洲视频免费在线观看 | 爱色av| 欧美成人一区二区三区片免费 | 日韩色av | 亚洲午夜精品在线观看 | 久久久久久久91 | 永久av| 国产精品777 | 欧美日韩国产在线播放 | 一本大道综合伊人精品热热 | 免费观看一级黄色片 | 成人亚洲| 亚洲综合色网 | 成人免费crm在线观看 | 亚洲av一级毛片 | 久久久久久麻豆 | 欧美一区二区免费 | 操久久| 射久久 | 999国产| 国产精品99久久久久久www | 国产精品999 | 欧美日韩高清在线一区 | 美女国产 | 欧美日韩在线观看一区二区三区 | 中文字幕在线第二页 | 久久精品国产一区二区三区不卡 | 99视频在线播放 | 欧美日韩一区二区三区在线观看 | 日韩特级| 凹凸日日摸日日碰夜夜 | 日韩成人在线观看视频 | 日本在线观看网站 | 成人a视频| 国产精品二区一区二区aⅴ污介绍 | 国产羞羞视频在线观看 | www狠狠操| 中文字幕一区二区三区乱码图片 | 91亚洲国产成人久久精品网站 | 日韩欧美在线观看视频 | 黄篇网址 | 久草免费在线 | 成人综合在线观看 | 久久精品美女 | 亚洲成人福利 | 天天操天天干天天爽 | 国产成人免费 | 中文字幕一区二区三区四区 | 日韩在线中文字幕 | 亚洲精品一区二区三区 | 久草免费在线视频 | www.成人久久| 一区在线观看 | 精品中文久久 | 五月激情综合网 | 欧美精品1区 | 久久99这里只有精品 | 岛国av一区 | 精品国产一区二区三区久久影院 | 黄色午夜 | 中文无吗 | 黄色一级电影 | 精品一区久久 | 欧美日本韩国一区二区三区 | 国产精品久久久久久久免费大片 | 欧美一级网站 | 成人精品 | 精品久久久久久 | 中文字幕在线观看第一页 | 极品久久久久久 | 欧美在线视频一区二区 | 国产小视频在线 | 日韩激情网 | 国产一级视频在线观看 | 精品www| 国产精品久久久久久久久久 | 国产成人综合一区 | 欧美精品久久久 | 麻豆视频在线 | 在线看片成人 | 欧美日韩专区 | 欧美激情一区二区三区四区 | 国产在线日韩 | 亚洲狠狠爱一区二区三区 | 亚洲v日韩v综合v精品v | 精品久| 亚洲毛片网站 | 日韩小视频网站 | 欧美一级c片 | 日韩精品久久久久久 | 国产精品自产av一区二区三区 | 精品九九| 欧美日韩国产高清 | 日韩视频一区 | 在线观看国产视频 | 国产中文字幕亚洲 | 91精品国产福利在线观看 | 成人亚洲一区 | 国内成人免费视频 | 久久亚洲一区二区三区四区 | 性做久久久久久久免费看 | 亚洲精品一区二区三区蜜桃久 | bxbx成人精品一区二区三区 | 国产精品国产 | 91高清视频在线观看 | 成人毛片久久 | 欧美一区二区三区 | 国产激情一区二区三区成人免费 | 美国一级毛片a | 99这里只有精品视频 | 骚黄视频| 欧美视频网站 | 日韩成人在线一区 | 日韩精品观看 | 欧美日韩一区二区视频在线观看 | 一区二区三区回区在观看免费视频 | 亚洲午夜在线 | av一区在线观看 | 欧美一区二区在线看 | 一区二区日本 | 国产精品一区二区三区四区五区 | 亚洲欧美激情视频 | 久久综合久久综合久久 | 久久99精品国产91久久来源 | 美女毛片免费看 | 久久亚洲天堂 | 国产一区91| 国产人成精品一区二区三 | 91亚洲精 | 国产视频一区二区 | 91亚洲国产成人久久精品网站 | 日本久久网 | 国产中文字幕一区 | 久久国产精品久久久久久 | 日韩一区在线视频 | jlzzjlzz国产精品久久 | 伊人网在线 | 午夜视频免费 | 天天操夜夜操 | 欧美中文在线 | 天天澡天天狠天天天做 | 蜜桃av在线播放 | 日韩精品一区二区三区视频播放 | 日韩成人影院 | 欧美久久久网站 | 国产精品一二区 | 久久av网址 | 九九在线视频 | 日韩大片免费播放 | 精品毛片| 久久精品一区二区国产 | 激情久久av一区av二区av三区 | 在线h观看 | 国产精品欧美日韩 | 亚洲精品在线网站 | 91在线入口| av在线播放免费 | 欧美成年黄网站色视频 | 久久国产精品久久久久久电车 | 亚洲精品国产成人 | 91综合网 | 黄色直接看 | 日韩精品免费观看 | 国产综合久久久久久鬼色 | 精品无码久久久久久国产 | 久久久天天 | 国产一区二区三区欧美 | 国产香蕉视频在线播放 | 91精品国产一区二区三区香蕉 | 91精品国产色综合久久 | 精品一区二区三区四区五区 | vagaa欧洲色爽免影院 | 综合久久综合久久 | 日韩精品观看 | av中文字幕在线 | 国产精品96久久久久久久 | 亚洲精彩视频在线观看 | 亚洲三级在线观看 | 欧美日韩一区二区视频在线观看 | 亚洲一区二区三区在线免费观看 | 日韩精品日韩激情日韩综合 | 超碰在线91 | 日韩精品一区二区三区中文字幕 | 久久久一二三 | 日日干天天操 | 中文字幕亚洲区 | 欧美日韩福利视频 | 婷婷91 | 亚洲成人一 | 男女激情网址 | av下一页 | 成人一级视频 | 国产成人无遮挡在线视频 | 国产精品久久久久影院色老大 | 天堂资源| 亚洲日本乱码一区两区在线观看 | 日韩电影三级 | 品久久久久久久久久96高清 | 国产一区二区观看 | 亚洲精品久久久一区二区三区 | 91文字幕巨乱亚洲香蕉 | 亚欧毛片| 91人人看| 成人av免费在线观看 | 91精品国产高清自在线观看 | 亚洲精品影院 | 国产成人精品久久 | 91亚洲成人| 在线观看中文 | 国产精品亚洲欧美日韩一区在线 | 亚洲美女精品视频 | 日韩一区二区中文字幕 | 亚洲一区中文字幕在线 | 日韩中文字幕av | 天天噜天天干 | 超碰97免费在线 | 欧美精品一区二区三区在线 | 欧美一区二区三区精品免费 | 日韩久久一区二区 | 日本中文字幕在线视频 | 久久国产精品久久久久久电车 | 欧美精品国产精品 | 日韩高清一区 | 99视频在线| 午夜精品久久久久久久久久久久 | av黄色在线免费观看 | 国产一区二区三区免费在线观看 | 国产精品中文字幕在线 | 综合久久综合久久 | 精品免费国产 | 91免费版在线观看 | 99热国产在线观看 | 91xxx在线观看 | 国产综合精品一区二区三区 | 在线观看欧美一区 | 久久99深爱久久99精品 | 日韩素人一区二区三区 | 性生活毛片 | 成人av一区二区三区 | 日韩三级电影免费观看 | 国产一区二区久久久 | baoyu123成人免费看视频 | 美女福利视频网站 | 欧洲精品视频在线观看 | 亚洲视频一区 | 国产日韩欧美精品 | 久久se精品一区精品二区 | 国产精品久久久久久久久久 | 欧美精品区 | 国产99久久| 国产高清毛片 | 成人天堂666 | 久久五月视频 | 精品视频三区 | 北条麻妃99精品青青久久主播 | 91亚洲国产亚洲国产 | 亚洲每日更新 | 欧美日本免费 | 日韩一区二区在线观看 | 天天曰夜夜操 | 免费观看在线午夜影视 | 亚洲男人天堂网 | 精国产品一区二区三区四季综 | 国产精品大全 | 久久久久国产精品免费免费搜索 | 国产一区二区视频在线观看 | 欧美不卡 | a毛片在线免费观看 | 国产成人精品久久 | 国产一级特黄毛片在线毛片 | 国产日韩欧美精品一区二区三区 | 免费在线一区二区三区 | 国产精品无码永久免费888 | 国产三级在线播放 | 91社影院在线观看 | 欧美一区二区伦理片 | 一本一道久久a久久精品逆3p | 亚洲aⅴ天堂av在线电影软件 | 欧美色视频在线观看 | 亚洲国产一区二区三区四区 | 国产美女精品人人做人人爽 | 99精品在线 | 黄色一级大片网站 | 91中文| 99在线视频观看 | 国产精品综合 | 成年人免费看 | 福利片在线观看 | 国产丝袜在线 | 国产一区二区av | 欧美精品1区2区 | 中文字幕精品一区久久久久 | 精品自拍视频 | 9999国产精品欧美久久久久久 | 日韩极品在线 | 天天摸天天干 | 欧美日韩午夜精品 | 久久九 | 久久国产一区二区 | av免费网站在线观看 | 久久国产精品免费一区二区三区 | 精品国产乱码久久久久久久软件 | 成人小视频在线播放 | 国内精品视频一区 | 中文字幕av第一页 | 午夜av毛片 | 国产精品一区二区在线 | 久草视频在线播放 | 91在线视频免费观看 | 国产精品日韩 | 成年免费观看视频 | 奇米av| 欧美三级网 | 亚洲国产精品99久久久久久久久 | 九九久久国产 | 天天久久 |