久久亚洲精品成人_国产精品欧美综合亚洲_亚洲va天堂va欧美ⅴa在线_91色视频在线观看_久久影院亚洲_一级黄色片播放_日韩av在线一区_精品一区二区在线看_老头吃奶性行交视频_日韩免费高清视频_天天操天天爽天天干_日本欧美在线视频

首頁 > 編程 > Java > 正文

SWT(JFace)小制作 FileBrowser文件瀏覽

2020-01-31 16:51:23
字體:
來源:轉載
供稿:網友
代碼如下:
復制代碼 代碼如下:

package swt_jface.demo6;
import java.io.File;
import java.util.Date;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.program.Program;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
public class FileBrowser {

Display display = new Display();
Shell shell = new Shell(display);
Table table;
File rootDir;
Image iconFolder = new Image(shell.getDisplay(), "C:/icons/folder.gif");
Image iconFile = new Image(shell.getDisplay(), "C:/icons/file.gif");

public FileBrowser() {

GridLayout gridLayout = new GridLayout();
shell.setLayout(gridLayout);
table = new Table(shell, SWT.BORDER | SWT.FULL_SELECTION);
//table.setLinesVisible(true);
table.setHeaderVisible(true);
TableColumn tcFileName = new TableColumn(table, SWT.LEFT);
tcFileName.setText("File name");
//tcFileName.setImage(new Image(shell.getDisplay(), "icons/folder.gif"));
TableColumn tcFileSize = new TableColumn(table, SWT.RIGHT);
tcFileSize.setText("Size");

TableColumn tcDateModified = new TableColumn(table, SWT.RIGHT);
tcDateModified.setText("Date Modified");
tcFileName.setWidth(200);
tcFileSize.setWidth(80);
tcDateModified.setWidth(180);
TableItem item = new TableItem(table, SWT.NULL);
item.setText(new String[]{"Name", "Size"});
table.setLayoutData(new GridData(GridData.FILL_BOTH));
table.pack();

shell.pack();
shell.open();
setRootDirectory(new File("."));

while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}

private void setRootDirectory(File dir) {
this.rootDir = dir;
if(! (dir.exists() && dir.isDirectory()))
throw new IllegalArgumentException("Invalid directory. ");
table.removeAll();
File[] files = dir.listFiles();
for(int i=0; files != null && i < files.length; i++) {
File file = files[i];
TableItem item = new TableItem(table, SWT.NULL);
item.setBackground(i % 2 == 0 ? shell.getDisplay().getSystemColor(SWT.COLOR_WHITE) :
shell.getDisplay().getSystemColor(SWT.COLOR_GRAY));
item.setText(0, file.getName());
item.setText(2, new Date(file.lastModified()).toString());
if(file.isDirectory()) {
item.setImage(0, iconFolder);
}else{
int lastDot = file.getName().lastIndexOf('.');
if(lastDot >= 0 && lastDot < file.getName().length()) {
item.setImage(0, getIcon(file.getName().substring(lastDot+1)));
}
long kbytes = file.length() / 1024;
if(kbytes == 0)
kbytes = 1;
item.setText(1, kbytes + " KB");
}
}
}

private ImageRegistry imageRegistry;

public Image getIcon(String extension) {
if(imageRegistry == null)
imageRegistry = new ImageRegistry();
Image image = imageRegistry.get(extension);
if(image != null)
return image;
Program program = Program.findProgram(extension);
if(program != null) {
image = new Image(shell.getDisplay(), program.getImageData());
imageRegistry.put(extension, image);
}else{
image = iconFile;
}
return image;
}
public static void main(String[] args) {
new FileBrowser();
}
}

更多的Table操作的例子:
復制代碼 代碼如下:

package swt_jface.demo6;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.TableEditor;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.swt.widgets.Text;
public class Main {

public static void main(String[] args) {

Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
final Table table = new Table(shell, SWT.BORDER | SWT.MULTI);
table.setLinesVisible(true);
for (int i = 0; i < 3; i++) {
TableColumn column = new TableColumn(table, SWT.NONE);
column.setWidth(100);
}
for (int i = 0; i < 3; i++) {
TableItem item = new TableItem(table, SWT.NONE);
item.setText(new String[] { "" + i, "" + i, "" + i });
}
final TableEditor editor = new TableEditor(table);
editor.horizontalAlignment = SWT.LEFT;
editor.grabHorizontal = true;
table.addListener(SWT.MouseDown, new Listener() {
public void handleEvent(Event event) {
Rectangle clientArea = table.getClientArea();
Point pt = new Point(event.x, event.y);
int index = table.getTopIndex();
while (index < table.getItemCount()) {
boolean visible = false;
final TableItem item = table.getItem(index);
for (int i = 0; i < table.getColumnCount(); i++) {
Rectangle rect = item.getBounds(i);
if (rect.contains(pt)) {
final int column = i;
final Text text = new Text(table, SWT.NONE);
Listener textListener = new Listener() {
public void handleEvent(final Event e) {
switch (e.type) {
case SWT.FocusOut:
item.setText(column, text.getText());
text.dispose();
break;
case SWT.Traverse:
switch (e.detail) {
case SWT.TRAVERSE_RETURN:
item.setText(column, text.getText());
case SWT.TRAVERSE_ESCAPE:
text.dispose();
e.doit = false;
}
break;
}
}
};
text.addListener(SWT.FocusOut, textListener);
text.addListener(SWT.Traverse, textListener);
editor.setEditor(text, item, i);
text.setText(item.getText(i));
text.selectAll();
text.setFocus();
return;
}
if (!visible && rect.intersects(clientArea)) {
visible = true;
}
}
if (!visible)
return;
index++;
}
}
});
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}

下面的代碼是對FileBrowser功能的增強:
實現1:
FileBrowser.java
復制代碼 代碼如下:

package swt_jface.demo7;
import java.io.File;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.TreeEditor;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.events.TreeEvent;
import org.eclipse.swt.events.TreeListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.program.Program;
import org.eclipse.swt.widgets.DirectoryDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.TreeItem;
public class FileBrowser {

Display display = new Display();
Shell shell = new Shell(display);
Tree tree;
File rootDir;
public FileBrowser() {

Action actionSetRootDir = new Action("Set Root Dir") {
public void run() {
DirectoryDialog dialog = new DirectoryDialog(shell);
String path = dialog.open();
if (path != null) {
setRootDir(new File(path));
}
}
};
ToolBar toolBar = new ToolBar(shell, SWT.FLAT);
ToolBarManager manager = new ToolBarManager(toolBar);
manager.add(actionSetRootDir);
manager.update(true);
shell.setLayout(new GridLayout());
tree = new Tree(shell, SWT.BORDER);
tree.setLayoutData(new GridData(GridData.FILL_BOTH));
setRootDir(new File("C:/temp"));
tree.addTreeListener(new TreeListener() {
public void treeCollapsed(TreeEvent e) {
}
public void treeExpanded(TreeEvent e) {
TreeItem item = (TreeItem) e.item;
TreeItem[] children = item.getItems();
for (int i = 0; i < children.length; i++)
if (children[i].getData() == null)
children[i].dispose();
else
return;
File[] files = ((File) item.getData()).listFiles();
for (int i = 0; files != null && i < files.length; i++)
addFileToTree(item, files[i]);
}
});
tree.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
}
public void widgetDefaultSelected(SelectionEvent e) {
TreeItem item = (TreeItem) e.item;
File file = (File) item.getData();
if (Program.launch(file.getAbsolutePath())) {
System.out.println("File has been launched: " + file);
} else {
System.out.println("Unable to launch file: " + file);
}
}
});
final TreeEditor editor = new TreeEditor(tree);
tree.addListener(SWT.MouseDown, new Listener() {
public void handleEvent(Event event) {
Point point = new Point(event.x, event.y);
final TreeItem item = tree.getItem(point);
if (item == null)
return;
final Text text = new Text(tree, SWT.NONE);
text.setText(item.getText());
text.setBackground(shell.getDisplay().getSystemColor(SWT.COLOR_YELLOW));
editor.horizontalAlignment = SWT.LEFT;
editor.grabHorizontal = true;
editor.setEditor(text, item);
Listener textListener = new Listener() {
public void handleEvent(final Event e) {
switch (e.type) {
case SWT.FocusOut :
File renamed =
renameFile(
(File) item.getData(),
text.getText());
if (renamed != null) {
item.setText(text.getText());
item.setData(renamed);
}
text.dispose();
break;
case SWT.Traverse :
switch (e.detail) {
case SWT.TRAVERSE_RETURN :
renamed =
renameFile(
(File) item.getData(),
text.getText());
if (renamed != null) {
item.setText(text.getText());
item.setData(renamed);
}
case SWT.TRAVERSE_ESCAPE :
text.dispose();
e.doit = false;
}
break;
}
}
};
text.addListener(SWT.FocusOut, textListener);
text.addListener(SWT.Traverse, textListener);
text.setFocus();
}
});

shell.setSize(400, 260);
shell.open();

while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
private File renameFile(File file, String newName) {
File dest = new File(file.getParentFile(), newName);
if (file.renameTo(dest)) {
return dest;
} else {
return null;
}
}
private void setRootDir(File root) {
if( (!root.isDirectory()) || (!root.exists()))
throw new IllegalArgumentException("Invalid root: " + root);
this.rootDir = root;
shell.setText("Now browsing: " + root.getAbsolutePath());
if (tree.getItemCount() > 0) {
TreeItem[] items = tree.getItems();
for (int i = 0; i < items.length; i++) {
items[i].dispose();
}
}
File[] files = root.listFiles();
for(int i=0; files != null && i < files.length; i++)
addFileToTree(tree, files[i]);
}
private void addFileToTree(Object parent, File file) {
TreeItem item = null;
if (parent instanceof Tree)
item = new TreeItem((Tree) parent, SWT.NULL);
else if (parent instanceof TreeItem)
item = new TreeItem((TreeItem) parent, SWT.NULL);
else
throw new IllegalArgumentException(
"parent should be a tree or a tree item: " + parent);
item.setText(file.getName());
item.setImage(getIcon(file));
item.setData(file);
if (file.isDirectory()) {
// // recursively adds all the children of this file.
// File[] files = file.listFiles();
// for(int i=0; i<files.length; i++)
// buildTree(item, files[i]);
if (file.list() != null && file.list().length > 0)
new TreeItem(item, SWT.NULL);
}
}
private ImageRegistry imageRegistry;
Image iconFolder = new Image(shell.getDisplay(), "C:/icons/folder.gif");
Image iconFile = new Image(shell.getDisplay(), "C:/icons/file.gif");
private Image getIcon(File file) {
if (file.isDirectory())
return iconFolder;
int lastDotPos = file.getName().indexOf('.');
if (lastDotPos == -1)
return iconFile;
Image image = getIcon(file.getName().substring(lastDotPos + 1));
return image == null ? iconFile : image;
}
private Image getIcon(String extension) {
if (imageRegistry == null)
imageRegistry = new ImageRegistry();
Image image = imageRegistry.get(extension);
if (image != null)
return image;
Program program = Program.findProgram(extension);
ImageData imageData = (program == null ? null : program.getImageData());
if (imageData != null) {
image = new Image(shell.getDisplay(), imageData);
imageRegistry.put(extension, image);
} else {
image = iconFile;
}
return image;
}
public static void main(String[] args) {
new FileBrowser();
}
}

實現2:
FileBrowserJFace.java
復制代碼 代碼如下:

package swt_jface.demo7;
import java.io.File;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.jface.viewers.ViewerSorter;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.program.Program;
import org.eclipse.swt.widgets.DirectoryDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.ToolBar;
public class FileBrowserJFace {

Display display = new Display();
Shell shell = new Shell(display);

File rootDir;
TreeViewer treeViewer;
public FileBrowserJFace() {
Action actionSetRootDir = new Action("Set Root Dir") {
public void run() {
DirectoryDialog dialog = new DirectoryDialog(shell);
String path = dialog.open();
if (path != null) {
treeViewer.setInput(new File(path));
}
}
};
final ViewerFilter directoryFilter = new ViewerFilter() {
public boolean select(
Viewer viewer,
Object parentElement,
Object element) {
return ((File)element).isDirectory();
}
};
Action actionShowDirectoriesOnly = new Action("Show directories only") {
public void run() {
if(! isChecked())
treeViewer.removeFilter(directoryFilter);
else
treeViewer.addFilter(directoryFilter);
}
};
actionShowDirectoriesOnly.setChecked(false);
Action actionDeleteFile = new Action("Delete the selected file") {
public void run() {
IStructuredSelection selection = (IStructuredSelection)treeViewer.getSelection();
File file = (File)selection.getFirstElement();
if(file == null) {
System.out.println("Please select a file first.");
return;
}
MessageBox messageBox = new MessageBox(shell, SWT.YES | SWT.NO);
messageBox.setMessage("Are you sure to delete file: " + file.getName() + "?");
if(messageBox.open() == SWT.YES) {
File parentFile = file.getParentFile();
if(file.delete()) {
System.out.println("File has been deleted. ");
// Notifies the viewer for update.
treeViewer.refresh(parentFile, false);
}else{
System.out.println("Unable to delete file.");
}
}
}
};
ToolBar toolBar = new ToolBar(shell, SWT.FLAT);
ToolBarManager manager = new ToolBarManager(toolBar);
manager.add(actionSetRootDir);
manager.add(actionShowDirectoriesOnly);
manager.add(actionDeleteFile);
manager.update(true);

shell.setLayout(new GridLayout());
treeViewer = new TreeViewer(shell, SWT.BORDER);
treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
treeViewer.setContentProvider(new ITreeContentProvider() {
public Object[] getChildren(Object parentElement) {
File[] files = ((File)parentElement).listFiles();
if(files == null)
return new Object[0];
return files;
}
public Object getParent(Object element) {
return ((File)element).getParentFile();
}
public boolean hasChildren(Object element) {
File file = (File)element;
File[] files = file.listFiles();
if(files == null || files.length == 0)
return false;
return true;
}
public Object[] getElements(Object inputElement) {
File[] files = ((File)inputElement).listFiles();
if(files == null)
return new Object[0];
return files;
}
public void dispose() {
}
public void inputChanged(
Viewer viewer,
Object oldInput,
Object newInput) {
shell.setText("Now browsing: " + newInput);
}
});

treeViewer.setLabelProvider(new LabelProvider() {
public Image getImage(Object element) {
return getIcon((File)element);
}
public String getText(Object element) {
return ((File)element).getName();
}
});
treeViewer.setSorter(new ViewerSorter() {
public int category(Object element) {
File file = (File)element;
if(file.isDirectory())
return 0;
else
return 1;
}
});


treeViewer.setInput(new File("C:/temp"));
shell.setSize(400, 260);
shell.open();

while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
// private File renameFile(File file, String newName) {
// File dest = new File(file.getParentFile(), newName);
// if (file.renameTo(dest)) {
// return dest;
// } else {
// return null;
// }
// }
private ImageRegistry imageRegistry;
Image iconFolder = new Image(shell.getDisplay(), "C:/icons/folder.gif");
Image iconFile = new Image(shell.getDisplay(), "C:/icons/file.gif");
private Image getIcon(File file) {
if (file.isDirectory())
return iconFolder;
int lastDotPos = file.getName().indexOf('.');
if (lastDotPos == -1)
return iconFile;
Image image = getIcon(file.getName().substring(lastDotPos + 1));
return image == null ? iconFile : image;
}
private Image getIcon(String extension) {
if (imageRegistry == null)
imageRegistry = new ImageRegistry();
Image image = imageRegistry.get(extension);
if (image != null)
return image;
Program program = Program.findProgram(extension);
ImageData imageData = (program == null ? null : program.getImageData());
if (imageData != null) {
image = new Image(shell.getDisplay(), imageData);
imageRegistry.put(extension, image);
} else {
image = iconFile;
}
return image;
}

public static void main(String[] args) {
new FileBrowserJFace();
}
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
五月天婷婷影视| 亚洲婷婷在线视频| 一区二区免费在线观看视频| 91社在线播放| 国产精品美女主播| 最近2019中文字幕一页二页| 欧美日本视频在线| 亚洲最大色网站| 91美女片黄在线| 日本在线不卡视频| 一级黄色片免费看| 国产一级理论片| 老牛影视av老牛影视av| 在线视频日韩一区| 嫩草影院中文字幕| 欧美久久久久久| 亚洲a一级视频| 国产91免费看片| 欧美激情喷水视频| 在线精品高清中文字幕| 日韩的一区二区| 91精品国产综合久久久久久久| 图片区小说区区亚洲影院| 国产精品乱人伦| av电影天堂一区二区在线观看| 久久精品国产亚洲aⅴ| 亚洲欧美另类一区| 国产高中女学生第一次| 91免费精品国自产拍在线不卡| 99精品国产高清在线观看| 欧美精品在线免费播放| 国产一区二区三区在线视频 | 成人av资源网| 国产精品都在这里| 国产精品7m视频| 国产精品成人播放| 成人www视频在线观看| 国产日韩av高清| 亚洲一区中文字幕| 成人毛片网站| 久久久久久久有限公司| 欧美1o一11sex性hdhd| 欧美下载看逼逼| 亚洲精品日韩在线观看| 在线精品日韩| 国产二级片在线观看| 久久免费视频3| 手机在线看福利| 人妻激情偷乱视频一区二区三区| 中文字幕第六页| 欧洲女同同性吃奶| 日本一级特级毛片视频| yjizz国产| 99精品国产99久久久久久97| 色一情一乱一乱一区91av| 久久最新视频| 成人在线视频首页| 国产精品久久久久国产精品日日| 亚洲综合久久av| 欧美三级在线播放| 日韩女优电影在线观看| 一区二区在线视频| …久久精品99久久香蕉国产| 999热视频| 无码人妻精品一区二区三区99v| 丰满少妇被猛烈进入高清播放| 九九精品久久久| 亚洲v国产v欧美v久久久久久| 精品一区免费观看| 粉嫩小泬无遮挡久久久久久| 国产精品亚洲综合一区在线观看| 国产精品丝袜91| 精品免费在线观看| 亚洲美女免费精品视频在线观看| 97激碰免费视频| 精品视频在线观看| 女人扒开屁股爽桶30分钟| 国产精品久久不卡| 欧美日韩一二三四区| 视频二区在线观看| 国产欧美一区二区精品久导航| 一本色道综合亚洲| 中文字幕在线国产精品| 国产欧美一区二区三区在线看| 一本一本久久a久久精品综合妖精| 在线观看的毛片| 成人免费黄色小视频| 国产影视一区二区| 91一区一区三区| 欧美在线你懂得| 久久中文字幕在线| 国产中文一区二区| 黄色一级大片在线观看| 日本成人免费在线观看| www.久久综合| 国产精品亲子伦对白| 日韩欧美国产精品一区| 26uuu日韩精品一区二区| 午夜精品电影在线观看| 懂色一区二区三区免费观看| 国产精品久久久久9999| 久久综合九色99| caopor在线视频| 一级性生活免费视频| 亚洲国产精品成人久久蜜臀| 国产精品成人va在线观看| 日本免费久久高清视频| 亚洲ai欧洲av| 亚洲少妇一区二区三区| 国产欧美日韩三级| 最近日韩免费视频| 国产福利一区二区三区在线视频| 亚洲午夜精品在线| 中日韩美女免费视频网址在线观看 | 欧美精品一区二区三区三州| 国产香蕉精品视频| 国产伦理吴梦梦伦理| 国产日本欧洲亚洲| 日韩成人在线视频观看| 国产91色在线|亚洲| 麻豆网站免费观看| 国产xxxx孕妇| 精品久久久久久中文字幕大豆网| 久久免费视频网| 国产av熟女一区二区三区| 久热这里有精品| a亚洲天堂av| 亚洲成人免费网站| 国产伦精品一区二区三区视频黑人 | 动漫美女被爆操久久久| 中文字幕日韩久久| 国产日韩精品suv| 一区二区三区日韩| 97国产成人精品视频| 超碰成人免费在线| 久久青青草原亚洲av无码麻豆 | 日韩一区中文字幕| 久久精品久久精品亚洲人| 日韩视频精品| 午夜写真片福利电影网| 不卡视频在线看| 亚洲欧美制服另类日韩| 亚洲一区二区三区午夜| 欧美日韩精品一区二区三区视频播放 | 成人免费毛片a| 亚洲国产精品一区二区三区| 热re99久久精品国产99热| 一级片久久久久| 99久久综合国产精品| 视频直播国产精品| 久久9精品区-无套内射无码| av综合在线观看| 精品婷婷伊人一区三区三| 国产呦系列欧美呦日韩呦| 精品一区二区在线观看视频| 国产日韩欧美制服另类| 国外成人免费在线播放| 拔插拔插华人永久免费| 另类欧美日韩国产在线| 亚洲天堂av在线播放| 成人免费观看在线| 亚洲va欧美va| 亚洲国产日韩欧美在线99| 国产小视频免费| 亚洲精品视频专区| 亚洲大胆人体在线| 国产3p露脸普通话对白| 色婷婷av一区二区三| 国产网站欧美日韩免费精品在线观看 | 色噜噜狠狠色综合欧洲selulu| 成人自拍视频网站| 久久久精品一区二区涩爱| 久久九九国产精品| 日韩精品一区二区三区视频 | 精品免费视频.| 日韩精品成人一区二区在线| 亚洲欧美激情视频在线观看一区二区三区 | 午夜国产精品一区| 成人av蜜桃| 国产无遮无挡120秒| 日韩欧美主播在线| 一区二区视频在线免费| aa视频在线免费观看| 亚洲精品久久视频| 亚洲一区二区三区四区五区xx| 极品美女销魂一区二区三区免费 | 国产精品一区二区三区四| 色综合久久天天综合网| 黄色网zhan| 久久一区中文字幕| 欧美日韩福利视频| 俄罗斯毛片基地| 一本到高清视频免费精品| 亚洲v国产v在线观看| 国产黄色片免费观看| 中日韩美女免费视频网站在线观看| 伊人国产精品视频| 国产精品你懂的| 亚州欧美一区三区三区在线| 午夜激情在线视频| 欧美精品videosex牲欧美| 一区二区国产精品精华液| 在线影院国内精品| 97视频在线免费| 成人aa视频在线观看| 91在线精品视频| 99久久精品无免国产免费| 日韩中文字幕精品| 极品美妇后花庭翘臀娇吟小说| 富二代精品短视频| 国产免费黄色小视频| www.66久久| 欧美另类高清视频在线| 日韩在线播放一区二区| 国产不卡视频在线| 超碰在线97观看| 久久久精品网站| 国产一级一片免费播放| 亚洲国产欧美久久| 国产在线观看h| 51精品国自产在线| 中文字幕人妻无码系列第三区| 亚洲男同1069视频| 黄色a级片免费看| 国产女主播一区| 宅男在线精品国产免费观看| 国产一区二区免费在线| 国产一区视频观看| 日本欧美一区二区在线观看| 国产精品一二区| 欧美 日韩 人妻 高清 中文| 国产精品18久久久久久麻辣| 国产精品久久久久久久久毛片 | 国产曰肥老太婆无遮挡| 91一区一区三区| 亚洲丰满在线| 久久久精品一品道一区| 国产高清精品软男同| 91视视频在线直接观看在线看网页在线看 | 欧美日韩三级一区二区| 肉丝美足丝袜一区二区三区四| 色爱区综合激月婷婷| 国产激情第一页| 精品国产乱码久久久久久久| 麻豆网址在线观看| www欧美日韩| 亚洲视屏在线观看| 欧美一区二区色| 天天综合网天天综合| 国产超碰91| 99久久精品99国产精品| 精品久久久无码人妻字幂| 亚洲欧美偷拍三级| 欧美日韩理论片| 欧美mv日韩mv国产网站| 精品国产欧美日韩不卡在线观看| 久久亚洲国产精品成人av秋霞| 在线观看日韩一区二区| 91免费国产视频| 国产福利视频一区二区三区| 日本男女交配视频| 五月天一区二区三区| 99久久久久久久久久| 亚洲一级黄色av| 亚洲永久精品视频| 91青青草免费观看| 91浏览器在线视频| 超碰在线97免费| 日韩亚洲欧美高清| 国产女同在线观看| 成人福利在线观看| av网站一区二区三区| 精品久久久久久久免费人妻| 欧美日韩一区中文字幕| 久操视频免费在线观看| 国产xxx69麻豆国语对白| 国产精品1024久久| aaaaaa亚洲| 日韩亚洲欧美高清| 色老头在线视频| 国产精品自拍首页| 国产欧美一区二区精品久导航| www.日本久久| 最新91在线视频| 日韩中文字幕影院| 成人小视频免费观看| 久久免费在线观看| 久久精品视频久久| 国产精品久久久av久久久| 免费av成人在线| 精品国产av无码一区二区三区| 在线一区二区观看| 免费三级在线观看| 91精品国产黑色紧身裤美女| 亚洲色图第一区| 欧美一二三在线| 国产老头老太做爰视频| 久久精品视频在线观看| 91精品国产99久久久久久| 中文字幕久久久久| 国产欧美一区二区三区不卡高清| 国产欧美日韩三级| 亚洲啪av永久无码精品放毛片| 国产亚洲精品日韩| 开心激情综合网| 5月婷婷6月丁香| 亚洲精品视频在线播放| 日本激情视频网站| 国产精品videossex国产高清| 精品精品国产高清a毛片牛牛| 国产夫妻自拍av| 全黄性性激高免费视频| 亚洲色图在线观看| 久久精品国产一区二区三 | 精品在线视频免费观看| 91精品天堂| 亚洲国产精品天堂| xxxx.国产| 日韩在线三区| 欧美日韩视频在线观看一区二区三区 | 99亚洲精品视频| 日韩欧美一区二区视频| 国模人体一区二区| 老头吃奶性行交视频| 最近更新的2019中文字幕 | 色乱码一区二区三在线看| 91久久一区二区| 国产精品国产av| 无码人妻丰满熟妇区五十路百度| 中文字幕日本欧美| 99国产精品久| fc2ppv在线播放| 日韩精品另类天天更新| 日韩激情第一页| 国产大陆a不卡| 国产精品视频看看| 蜜桃传媒视频麻豆第一区免费观看| 欧美色综合天天久久综合精品| 一级特黄aaa大片| 成人黄色片视频| 国内精品400部情侣激情| 国产精品久久久久aaaa樱花 | 国产一区二区三区四区福利| 粉嫩13p一区二区三区| 免费成人深夜天涯网站| 免费看成人午夜电影| 亚洲黄色成人网| 国内外成人在线| 亚洲精品午夜视频| 日产精品久久久一区二区| 亚洲精品视频中文字幕| 久久亚洲一级片| 狠狠人妻久久久久久综合| 干日本少妇首页| www.久久av.com| 精品国产a毛片| 久久成人久久爱| 超碰人人人人人人人| 日韩欧美一区二区三区四区五区| 亚洲老头同性xxxxx| 夫妇交换中文字幕| 国产精品露出视频| 日韩黄色高清视频| 中文字幕精品在线不卡| 最近中文字幕免费在线观看| 日本久久精品一区二区| 国产在线视频2019最新视频| 日韩午夜电影在线观看| 国产98色在线|日韩| 成人毛片18女人毛片| 日日干夜夜操s8| 国产区一区二区三区| 丝袜亚洲另类欧美重口| 亚洲电影一区二区三区| 奇米影视7777精品一区二区| avove在线播放| 精品少妇无遮挡毛片| 国产一区二区丝袜| 亚洲精品丝袜日韩| 亚洲制服欧美中文字幕中文字幕| 天天插天天干天天操| 亚洲精品视频在线观看视频| 北岛玲一区二区三区四区| 亚洲成年人在线| av黄色免费在线观看| 国产 日韩 欧美在线| 国产精品香蕉在线观看| 亚洲成人av在线| 亚洲日本韩国一区| 免费高清在线视频一区·| 中文字幕精品三级久久久| 国产无套精品一区二区三区| 深田咏美在线x99av| 日本一区二区三级电影在线观看| 国产一二三区在线播放| 国产精品网红福利| 亚洲国产中文字幕在线| 五月天网站亚洲| 国产福利视频一区二区| 亚洲国产日韩欧美在线观看| 亚洲性猛交xxxxwww| 国产欧美精品一区二区三区四区| 欧美做爰啪啪xxxⅹ性| 欧美人在线视频| 红桃视频成人在线观看| 国产一区二区免费看| 天天干天天插天天射| 最近日本中文字幕| 精品sm在线观看| 国产精品无圣光一区二区|