<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java something

    不要以為......很遙遠(yuǎn)
    隨筆 - 23, 文章 - 1, 評(píng)論 - 2, 引用 - 0
    數(shù)據(jù)加載中……

    JComboBox

    7-4:JComboBox的使用:
    類層次結(jié)構(gòu)圖:
       java.lang.Object
        --java.awt.Component
         --java.awt.Container
          --javax.swing.JComponent
           --javax.swing.JComboBox
       構(gòu)造函數(shù):
        JComboBox():建立一個(gè)新的JComboBox組件。
        JComboBox(ComboBoxModel aModel):用ListModel建立一個(gè)新的JComboBox組件。
        JComboBox(Object[] items):利用Array對(duì)象建立一個(gè)新的JComboBox組件。
        JComboBox(Vector items):利用Vector對(duì)象建立一個(gè)新的JComboBox組件。
    7-4-1:建立一般的JComboBox:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.Vector;

    public class JComboBox1{
    public static void main(String[] args){
    JFrame f=new JFrame("JComboBox1");
    Container contentPane=f.getContentPane();
    contentPane.setLayout(new GridLayout(1,2));
    String[] s = {"美國(guó)","日本","大陸","英國(guó)","法國(guó)","意大利","澳洲","韓國(guó)"};
    Vector v=new Vector();
    v.addElement("Nokia 8850");
    v.addElement("Nokia 8250");
    v.addElement("Motorola v8088");
    v.addElement("Motorola v3850");
    v.addElement("Panasonic 8850");
        v.addElement("其它");
       
        JComboBox combo1=new JComboBox(s);
        combo1.addItem("中國(guó)");//利用JComboBox類所提供的addItem()方法,加入一個(gè)項(xiàng)目到此JComboBox中。
        combo1.setBorder(BorderFactory.createTitledBorder("你最喜歡到哪個(gè)國(guó)家玩呢?"));
        JComboBox combo2=new JComboBox(v);
        combo2.setBorder(BorderFactory.createTitledBorder("你最喜歡哪一種手機(jī)呢?"));  
        contentPane.add(combo1);
        contentPane.add(combo2);
        f.pack();
        f.show();
        f.addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent e){
        System.exit(0);
        }
        });
    }
    }
    7-4-2:利用ComboModel構(gòu)造JComboBox:
        如同JList一般,在JComboBox中也有一個(gè)構(gòu)造函數(shù)是利用某種Model來構(gòu)造。如下所示:
          JComboBox(COmboBoxModel aModel)
       ComboBoxModel是一個(gè)interface,里面定義了兩個(gè)方法,分別是setSelectedItem()與getSelectedItem().這兩個(gè)方法目的是讓用
    戶選取某個(gè)項(xiàng)目后,可正確地顯示出用戶所選取的項(xiàng)目。下面是這兩個(gè)方法的詳細(xì)定義:
    ComboBoxModel interface定義的方法:
       Object    getSelectedItem():返回所選取的項(xiàng)目值。
       Void      setSelectedItem(Object anItem):設(shè)置所選取的項(xiàng)目值.

    與JList不同的是,JComboBox是利用ComboBoxModel,而不是ListModel.不過ComboBoxModel interface是繼承ListModel interface
    ,因此若我們要利用ComboBoxModel來構(gòu)造JComboBox,除了要實(shí)作ComboBoxModel的兩個(gè)方法外,還必須實(shí)作ListModel的所定義的4個(gè)
    方法,這樣的做法可說相當(dāng)麻煩。
       在介紹JList時(shí)我們?cè)?jīng)提到AbstractListModel這個(gè)抽象類。這個(gè)抽象類實(shí)作了ListModel interface中的addListDataListener
    ()、removeListDataListener()這兩個(gè)方法。因此若我們繼承AbstractListModel,則可少掉實(shí)作這兩個(gè)方法,只需要實(shí)作
    getElementAt()、getSize()、setSelectedItem()與getSelectedItem()這4個(gè)方法。這樣的作法就顯得比較簡(jiǎn)單一點(diǎn).

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;

    public class JComboBox2{
    String[] s= {"美國(guó)","日本","大陸","英國(guó)","法國(guó)","意大利","澳洲","韓國(guó)"};
    public JComboBox2(){
        JFrame f=new JFrame("JComboBox2");
        Container contentPane=f.getContentPane();
       
        ComboBoxModel mode=new UserDefineComboBoxModel();
        JComboBox combo=new JComboBox(mode);
        combo.setBorder(BorderFactory.createTitledBorder("你最喜歡到哪個(gè)國(guó)家去玩?"));
        contentPane.add(combo);
        f.pack();
        f.show();
        f.addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent e){
        System.exit(0);
        }
        });  
    }
    public static void main(String[] args){
    new JComboBox2();
    }

    class UserDefineComboBoxModel extends AbstractListModel implements ComboBoxModel{
    String item=null;
    public Object getElementAt(int index){
       return s[index++];
    }
         //由于繼承AbstractListModel抽象類。因此我們分別在程序中實(shí)作了getElementAt()與getSize()方法。
    public int getSize(){
        return s.length;
    }
         //由于我們實(shí)現(xiàn)了ComboBoxModel interface.因此我們必須在程序中實(shí)作setSelectedItem()與getSelectedItem()方法.
    public void setSelectedItem(Object anItem){
          item=(String)anItem;
         }
         public Object getSelectedItem(){
            return item;
         }
    }
    }
       當(dāng)程序要show出JComboBox時(shí),系統(tǒng)會(huì)先自動(dòng)調(diào)用getSize()方法,看看這個(gè)JComboBox長(zhǎng)度有多少,然后再調(diào)用getElementAt()
    方法,將String Array s中的值填入JComboBox中。當(dāng)用戶選擇項(xiàng)目時(shí),系統(tǒng)會(huì)調(diào)用getSelectedItem()方法,返回所選取的項(xiàng)目,并
    利用setSelectedItem()方法,將選取項(xiàng)目放在JComboBox最前端。
       getElementAt()方法中的“index”參數(shù),系統(tǒng)會(huì)自動(dòng)由0計(jì)算,不過要自己作累加的操作,如程序中:
        return s[index++];
    如同JList一般,java對(duì)于JComboBox也提供了另一個(gè)類,DefaultComboBoxModel實(shí)體類。此類繼承了AbstractListModel抽象類,也
    實(shí)作了ComboBoxModel interface.因此你不需要再實(shí)作getSize()、getElementAt()、setSelectedItem()與getSelectedItem()方法。
    利用DefaultComboBoxModel這個(gè)類我們可以很方便地做到動(dòng)態(tài)更改JComboBox的項(xiàng)目值。當(dāng)你沒有必要自己定義特殊的ComboBoxModel
    時(shí),使用DefaultComboBoxModel就顯得非常的方便,我們來看下面的例子:

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;

    public class JComboBox3{
       String[] s = {"美國(guó)","日本","大陸","英國(guó)","法國(guó)","意大利","澳洲","韓國(guó)"};
       public JComboBox3(){
          JFrame f=new JFrame("JComboBox3");
          Container contentPane=f.getContentPane();
         
          ComboBoxModel mode=new AModel();
          JComboBox combo=new JComboBox(mode);
          combo.setBorder(BorderFactory.createTitledBorder("您最喜歡到哪個(gè)國(guó)家玩呢?"));
          contentPane.add(combo);
          f.pack();
          f.show();
          f.addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent e){
        System.exit(0);
        }
          });  
       }
       public static void main(String[] args){
          new JComboBox3();
       }
       class AModel extends DefaultComboBoxModel{
       AModel(){
       for (int i=0;i<s.length;i++)
       addElement(s[i]);
       }
       }
    }
        1.由于AModel繼承DefaultComboBoxModel實(shí)體類,由AModel可得到一個(gè)ComboBoxModel實(shí)體對(duì)象。
        2.我們使AModel繼承DefaultComboBoxModel實(shí)體類,因此就不需要再實(shí)作getElementAt()、getSize()、setSelectedItem()與
          getSelectedItem()這4個(gè)方法,直接將所要的項(xiàng)目用addElement()方法加入即可。系統(tǒng)會(huì)自動(dòng)將所加入的項(xiàng)目放進(jìn)一個(gè)Vector
          中,并在輸出JComboBox時(shí)自動(dòng)調(diào)用getSize()與getElementAt()方法。
    7-4-3:建立有圖像的JComboBox:
        在上一節(jié)中我們利用ListCellRenderer interface在JList中加入Icon圖像,而要在JComboBox中加入圖像的方法也是一樣的。
    我們必須實(shí)作ListCellRenderer interface所定義的方法getListCellRendererComponent.以下為這個(gè)方法的定義:
    要先了解ListCellRenderer interface.我們必須由這個(gè)interface所定義的方法,將圖像畫在JComboBox中的每個(gè)項(xiàng)目。
    ListCellRenderer interface里只定義了一個(gè)方法,那就是getListCellRendererComponent,不過這個(gè)參數(shù)有點(diǎn)多,我們把它列出來
    看看:
    public Component getListCellRendererComponent(JList list,
                                                  Object value,
                                                  int index,
                                                  boolean isSelected,
                                                  boolean cellHasFocus)
    list:即所要畫上的圖像的JComboBox組件。
    value:JComboBox項(xiàng)目值,如JComboBox.getModel().getElementAt(index)所返回的值。
    index:為JComboBox項(xiàng)目的索引值,由0開始。
    isSelected與cellHasFocus:判斷JComboBox中的項(xiàng)目是否有被選取或是有焦點(diǎn)置入。
    上面這4個(gè)參數(shù)會(huì)在你設(shè)置JComboBox的繪圖樣式(setCellRenderer())時(shí)自動(dòng)的由JComboBox組件提供,你只要關(guān)心怎么控制
    getListCellRendererComponent()方法中的4個(gè)參數(shù),而無需擔(dān)心怎么參數(shù)傳入。
       要在JList中加入Icon圖像的技巧就是將JComboBox中的每一個(gè)項(xiàng)目當(dāng)作是JLabel,因?yàn)镴Label在使用文字與圖像上非常的方便,要設(shè)置JComboBox的圖像,
    必須使用setRenderer(ListCellRenderer cellRenderer){注:我們?cè)贘List中畫上圖像是利用JList所提供的setCellRenderer(ListCellRenderer
    cellRenderer)方法,讀者請(qǐng)小心}這個(gè)方法。我們來看下面這個(gè)范例,你就能明白了!

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;

    public class JComboBox4{
    String[] s={"西瓜","蘋果","草莓","香蕉","葡萄"};
    public JComboBox4(){
    JFrame f=new JFrame("JComboBox");
    Container contentPane=f.getContentPane();

    JComboBox combo=new JComboBox(s);
    combo.setBorder(BorderFactory.createTitledBorder("你最喜歡吃哪些水果?"));
    combo.setRenderer(new ACellRenderer());
    combo.setMaximumRowCount(3);

    contentPane.add(combo);
          f.pack();
          f.show();
          f.addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent e){
        System.exit(0);
        }
          });    
    }
    public static void main(String[] args){
    new JComboBox4();
    }
    }
    class ACellRenderer extends JLabel implements ListCellRenderer{
    ACellRenderer(){
       setOpaque(true);
    }
    public Component getListCellRendererComponent(JList list,
                                                  Object value,
                                                  int index,
                                                  boolean isSelected,
                                                  boolean cellHasFocus){
        if (value!=null){
          setText(value.toString());
          setIcon(new ImageIcon(".\\icons\\fruit"+(index+1)+".jpg"));
        }
        if (isSelected){
           setBackground(list.getSelectionBackground());
           setForeground(list.getSelectionForeground());
        }else{
           setBackground(list.getBackground());
           setForeground(list.getForeground());
        }                                   
        return this;      
        }                                             
    }
        各們讀者在運(yùn)行這個(gè)程序時(shí)會(huì)發(fā)現(xiàn),即使JComboBox的選項(xiàng)中有圖標(biāo),但在選后圖標(biāo)卻不會(huì)顯示在顯示列中,原因是在上面程序中
    我們以String Array s建立JComboBox:
          JComboBox combo=new JComboBox(s);
          String Array s里面放的只是水果名稱,而并沒有圖標(biāo)。當(dāng)我們使用setRenderer()方法來JComboBox時(shí),只會(huì)繪制JComboBox的
    選項(xiàng)部份,而最后顯示在JComboBox上的值還是以String Array s為依據(jù)。因此JComboBox顯示列就只會(huì)顯示文字而已,而不會(huì)顯示出
    圖形。要解決這個(gè)問題,我們必須改變JComboBox所傳入的參數(shù)內(nèi)容,也就是將原來的String Array s更改成具有圖形的數(shù)據(jù)項(xiàng)。在
    此我們是利用JComboBox(Object[] items)來建立有圖像的JComboBox,我們所傳進(jìn)去的Object Array不應(yīng)該只有文字,而必須連圖標(biāo)一
    并傳入。我們修改上個(gè)范例修改如下:

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;

    public class JComboBox5
    {
        String[] s = {"西瓜","蘋果","草莓","香蕉","葡萄"};
        ImageIcon[] icons = new ImageIcon[5];;
       
        public JComboBox5()
        {
            JFrame f = new JFrame("JComboBox");
            Container contentPane = f.getContentPane();
            ItemObj[] obj = new ItemObj[5];
           
            for(int i=0; i < 5; i++)
            {
                icons[i] = new ImageIcon(".\\icons\\fruit"+(i+1)+".jpg");
                obj[i] = new ItemObj(s[i],icons[i]);
            }
           
            JComboBox combo = new JComboBox(obj);//利用ItemObj Array obj當(dāng)作是JComboBox的參數(shù)傳入,構(gòu)造出JComboBox.
            combo.setBorder(BorderFactory.createTitledBorder("您喜歡吃哪些水果?"));
            combo.setRenderer(new ACellRenderer());
            combo.setMaximumRowCount(3);
           
            contentPane.add(combo);
            f.pack();
            f.show();
            f.addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                        System.exit(0);
                }
            });
        }
       
        public static void main(String args[])
        {
            new JComboBox5();
        }
    }

    class ItemObj
    {
        String name;
        ImageIcon icon;
       
        public ItemObj(String name, ImageIcon icon){
            this.name = name;
            this.icon = icon;
        }
    }
       
    class ACellRenderer extends JLabel implements ListCellRenderer
    {
        ACellRenderer()
        {
            setOpaque(true);
        }
       
        public Component getListCellRendererComponent(JList list,
                                                      Object value,
                                                      int index,
                                                      boolean isSelected,
                                                      boolean cellHasFocus)
        {
            if (value != null)
            {
                setText(((ItemObj)value).name);
                setIcon(((ItemObj)value).icon);
            }

            if (isSelected) {
                setBackground(list.getSelectionBackground());
                setForeground(list.getSelectionForeground());
            }
            else {
                setBackground(list.getBackground());
                setForeground(list.getForeground());
            }

            return this;
        }   
    }

       你可以發(fā)現(xiàn),第一欄顯示有圖標(biāo)顯示出來了。當(dāng)然你也可以利用ComboBoxModel方式來構(gòu)造出有圖標(biāo)的JComboBox.我們來看下面
    的例子:

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;

    public class JComboBox6{
    String[] s={"西瓜","蘋果","草莓","香蕉","葡萄"};
    ImageIcon[] icons=new ImageIcon[5];
    public JComboBox6(){
        JFrame f=new JFrame("JComboBox");
        Container contentPane=f.getContentPane();
            for(int i=0; i < 5; i++)
            {
                icons[i] = new ImageIcon(".\\icons\\fruit"+(i+1)+".jpg");
            }
            ComboBoxModel mode=new AModel();
            JComboBox combo=new JComboBox(mode);
            combo.setBorder(BorderFactory.createTitledBorder("您喜歡吃哪些水果?"));
            combo.setRenderer(new ACellRenderer());
            combo.setMaximumRowCount(3);
           
            contentPane.add(combo);
            f.pack();
            f.show();
            f.addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                        System.exit(0);
                }
            });
    }
    public static void main(String[] args){
    new JComboBox6();
    }
    /*我們用JComboBox(ComboBoxModel aModel)來構(gòu)造圖標(biāo)的JComboBox,因此我們?cè)诔绦蛑芯帉懸粋€(gè)繼承DefaultComboBoxModel的
    ComboBoxModel.
    */
    class AModel extends DefaultComboBoxModel{
    AModel(){
       for (int i=0;i<s.length;i++){
          ItemObj obj=new ItemObj(s[i],icons[i]);
          addElement(obj);
       }
    }
    }
    }
    class ItemObj
    {
        String name;
        ImageIcon icon;
       
        public ItemObj(String name, ImageIcon icon){
            this.name = name;
            this.icon = icon;
        }
    }
       
    class ACellRenderer extends JLabel implements ListCellRenderer
    {
        ACellRenderer()
        {
            setOpaque(true);
        }
       
        public Component getListCellRendererComponent(JList list,
                                                      Object value,
                                                      int index,
                                                      boolean isSelected,
                                                      boolean cellHasFocus)
        {
            if (value != null)
            {
                setText(((ItemObj)value).name);
                setIcon(((ItemObj)value).icon);
            }

            if (isSelected) {
                setBackground(list.getSelectionBackground());
                setForeground(list.getSelectionForeground());
            }
            else {
                setBackground(list.getBackground());
                setForeground(list.getForeground());
            }

            return this;
        }   
    }

       我們用JComboBox(ComboBoxModel aModel)來構(gòu)造圖標(biāo)的JComboBox,因此我們?cè)诔绦蛑芯帉懸粋€(gè)繼承DefaultComboBoxModel的
    ComboBoxModel.

    7-4-4:建立可自行輸入的JComboBox:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;

    public class JComboBox7
    {
        String[] fontsize = {"12","14","16","18","20","22","24","26","28"};
        String defaultMessage = "請(qǐng)選擇或直接輸入文字大小!";
       
        public JComboBox7()
        {
            JFrame f = new JFrame("JComboBox");
            Container contentPane = f.getContentPane();
           
            JComboBox combo = new JComboBox(fontsize);
            combo.setBorder(BorderFactory.createTitledBorder("請(qǐng)選擇你要的文字大小"));
            combo.setEditable(true);//將JComboBox設(shè)成是可編輯的.
            ComboBoxEditor editor = combo.getEditor();//getEditor()方法返回ComboBoxEditor對(duì)象,如果你查看手冊(cè),你就會(huì)發(fā)
             //現(xiàn)ComboBoxEditor是個(gè)接口(interface),因此你可以自行實(shí)作這個(gè)接口,制作自己想要的ComboBoxEditor組件。但通常
             //我們不需要這么做,因?yàn)槟J(rèn)的ComboBoxEditor是使用JTextField,這已經(jīng)足夠應(yīng)付大部份的情況了。
           
            //configureEditor()方法會(huì)初始化JComboBox的顯示項(xiàng)目。例如例子中一開始就出現(xiàn):"請(qǐng)選擇或直接輸入文字大小!"這個(gè)
            //字符串。
            combo.configureEditor(editor, defaultMessage);
           
            contentPane.add(combo);
            f.pack();
            f.show();
            f.addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                        System.exit(0);
                }
            });
        }
       
        public static void main(String args[])
        {
            new JComboBox7();
        }
    }


    7-4-5:JComboBox的事件處理:
        JComboBox的事件處理亦可分為兩種,一種是取得用戶選取的項(xiàng)目;另一種是用戶在JComboBox上自行輸入完畢后按下[Enter]鍵,
    運(yùn)作相對(duì)應(yīng)的工作。對(duì)于第一種事件的處理,我們使用ItemListener.對(duì)于第二種事件的處理,我們使用ActionListener.
        這個(gè)范例用戶可以選取所要的字號(hào),字號(hào)的變化會(huì)呈現(xiàn)在JLabel上,并可讓用戶自行輸入字體的大小。當(dāng)用戶按下[Enter]鍵后
    ,若用戶輸入的值不在選項(xiàng)上時(shí),此輸入值會(huì)增加至JComboBox中,并將輸入字體的大小顯示在JLabel上。

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;

    public class JComboBox8 implements ItemListener,ActionListener{
    String[] fontsize={"12","14","16","18","20","22","24","26","28"};
    String defaultMessage="請(qǐng)選擇或直接輸入文字大小!";
    Font font=null;
    JComboBox combo=null;
    JLabel label=null;

    public JComboBox8(){
    JFrame f=new JFrame("JComboBox");
    Container contentPane=f.getContentPane();
    contentPane.setLayout(new GridLayout(2,1));
    label=new JLabel("Swing",JLabel.CENTER);
    font=new Font("SansSerif",Font.PLAIN,12);
    label.setFont(font);

    combo=new JComboBox(fontsize);
    combo.setBorder(BorderFactory.createTitledBorder("請(qǐng)選擇你要的文字大小:"));
    combo.setEditable(true);
    ComboBoxEditor editor=combo.getEditor();
    combo.configureEditor(editor,defaultMessage);
    combo.addItemListener(this);0
    combo.addActionListener(this);

    contentPane.add(label);
    contentPane.add(combo);
          f.pack();
          f.show();
          f.addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent e){
        System.exit(0);
        }
          });  
    }
       public static void main(String[] args){
       new JComboBox8();
       }
       public void actionPerformed(ActionEvent e){
       boolean isaddItem=true;
       int fontsize=0;
       String tmp=(String)combo.getSelectedItem();
       //判斷用戶所輸入的項(xiàng)目是否有重復(fù),若有重復(fù)則不增加到JComboBox中。
       try{
       fontsize=Integer.parseInt(tmp);
       for(int i=0;i<combo.getItemCount();i++){
       if (combo.getItemAt(i).equals(tmp)){
       isaddItem=false;
       break;
       }
       }
       if (isaddItem){
       combo.insertItemAt(tmp,0);//插入項(xiàng)目tmp到0索引位置(第一列中).
       }
       font=new Font("SansSerif",Font.PLAIN,fontsize);
       label.setFont(font);  
       }catch(NumberFormatException ne){
       combo.getEditor().setItem("你輸入的值不是整數(shù)值,請(qǐng)重新輸入!");
       }
       }
       public void itemStateChanged(ItemEvent e){//ItemListener界面只有itemStateChanged()一個(gè)方法,在此實(shí)作它。
       if (e.getStateChange()==ItemEvent.SELECTED){//當(dāng)用戶的選擇改變時(shí),則在JLabel上會(huì)顯示出Swing目前字形大小信息.
       int fontsize=0;
       try{
       fontsize=Integer.parseInt((String)e.getItem());
       label.setText("Swing 目前字形大小:"+fontsize);  
       }catch(NumberFormatException ne){//若所輸入的值不是整數(shù),則不作任何的操作.
      
       }
       }
       }
    }

    posted on 2011-02-17 08:24 Jamie 閱讀(2782) 評(píng)論(0)  編輯  收藏 所屬分類: swing


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 7777久久亚洲中文字幕| 91大神免费观看| 亚洲精品免费网站| 国产精品亚洲精品日韩已满| 日韩免费观看视频| 亚洲黄色免费网址| 久草免费福利视频| 免费的黄色网页在线免费观看| 亚洲一级免费毛片| 亚洲一区综合在线播放| 亚洲无人区午夜福利码高清完整版 | 亚洲sss综合天堂久久久| 国产∨亚洲V天堂无码久久久| 国产免费人成在线视频| 在线观看AV片永久免费| 1000部免费啪啪十八未年禁止观看| selaoban在线视频免费精品| 亚洲老熟女五十路老熟女bbw| 亚洲国产精品白丝在线观看| 亚洲国产香蕉碰碰人人| 亚洲精品无码久久千人斩| 亚洲精品国产高清不卡在线| 国产一级大片免费看| 无码一区二区三区免费视频| 精品无码人妻一区二区免费蜜桃| 搡女人免费免费视频观看| 国产无遮挡色视频免费观看性色| 美女露隐私全部免费直播| 亚洲国产成人久久精品大牛影视| 亚洲五月综合网色九月色| 亚洲午夜在线一区| 亚洲乱码日产精品BD在线观看| 亚洲一区中文字幕久久| 亚洲视频在线一区二区三区| 亚洲av丰满熟妇在线播放| 午夜亚洲AV日韩AV无码大全| 亚洲AV乱码久久精品蜜桃| 午夜亚洲AV日韩AV无码大全| 亚洲色成人网一二三区| 亚洲国产精品综合久久久| 亚洲国产成人精品激情|