日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 編程 > Java > 正文

SWT(JFace) 簡易瀏覽器 制作實現代碼第1/2頁

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

package swt_jface.demo5;
import java.text.MessageFormat;
import java.util.MissingResourceException;
import org.eclipse.swt.SWT;
import org.eclipse.swt.SWTError;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.browser.CloseWindowListener;
import org.eclipse.swt.browser.LocationEvent;
import org.eclipse.swt.browser.LocationListener;
import org.eclipse.swt.browser.OpenWindowListener;
import org.eclipse.swt.browser.ProgressEvent;
import org.eclipse.swt.browser.ProgressListener;
import org.eclipse.swt.browser.StatusTextEvent;
import org.eclipse.swt.browser.StatusTextListener;
import org.eclipse.swt.browser.TitleEvent;
import org.eclipse.swt.browser.TitleListener;
import org.eclipse.swt.browser.VisibilityWindowListener;
import org.eclipse.swt.browser.WindowEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.ProgressBar;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
public class BrowserExample {
//static ResourceBundle resourceBundle = ResourceBundle.getBundle("examples_browser");
int index;
boolean busy;
Image images[];
Text location;
Browser browser;
static final String[] imageLocations = {
"eclipse01.bmp", "eclipse02.bmp", "eclipse03.bmp", "eclipse04.bmp", "eclipse05.bmp",
"eclipse06.bmp", "eclipse07.bmp", "eclipse08.bmp", "eclipse09.bmp", "eclipse10.bmp",
"eclipse11.bmp", "eclipse12.bmp",};
static final String iconLocation = "document.gif";

public BrowserExample(Composite parent) {
final Display display = parent.getDisplay();
FormLayout layout = new FormLayout();
parent.setLayout(layout);
ToolBar toolbar = new ToolBar(parent, SWT.NONE);
final ToolItem itemBack = new ToolItem(toolbar, SWT.PUSH);
itemBack.setText(getResourceString("Back"));
final ToolItem itemForward = new ToolItem(toolbar, SWT.PUSH);
itemForward.setText(getResourceString("Forward"));
final ToolItem itemStop = new ToolItem(toolbar, SWT.PUSH);
itemStop.setText(getResourceString("Stop"));
final ToolItem itemRefresh = new ToolItem(toolbar, SWT.PUSH);
itemRefresh.setText(getResourceString("Refresh"));
final ToolItem itemGo = new ToolItem(toolbar, SWT.PUSH);
itemGo.setText(getResourceString("Go"));
location = new Text(parent, SWT.BORDER);
images = new Image[]{new Image(display, "C:/icons/web/go.gif")};
final Canvas canvas = new Canvas(parent, SWT.NO_BACKGROUND);
final Rectangle rect = images[0].getBounds();
canvas.addListener(SWT.Paint, new Listener() {
public void handleEvent(Event e) {
Point pt = canvas.getSize();
e.gc.drawImage(images[index], 0, 0, rect.width, rect.height, 0, 0, pt.x, pt.y);
}
});
canvas.addListener(SWT.MouseDown, new Listener() {
public void handleEvent(Event e) {
browser.setUrl(getResourceString("Startup"));
}
});

display.asyncExec(new Runnable() {
public void run() {
if (canvas.isDisposed()) return;
if (busy) {
index++;
if (index == images.length) index = 0;
canvas.redraw();
}
display.timerExec(150, this);
}
});
final Label status = new Label(parent, SWT.NONE);
final ProgressBar progressBar = new ProgressBar(parent, SWT.NONE);
FormData data = new FormData();
data.top = new FormAttachment(0, 5);
toolbar.setLayoutData(data);
data = new FormData();
data.left = new FormAttachment(0, 0);
data.right = new FormAttachment(100, 0);
data.top = new FormAttachment(canvas, 5, SWT.DEFAULT);
data.bottom = new FormAttachment(status, -5, SWT.DEFAULT);
try {
browser = new Browser(parent, SWT.NONE);
browser.setLayoutData(data);
} catch (SWTError e) {
Label label = new Label(parent, SWT.CENTER | SWT.WRAP);
label.setText(getResourceString("BrowserNotCreated"));
label.setLayoutData(data);
}
data = new FormData();
data.width = 24;
data.height = 24;
data.top = new FormAttachment(0, 5);
data.right = new FormAttachment(100, -5);
canvas.setLayoutData(data);
data = new FormData();
data.top = new FormAttachment(toolbar, 0, SWT.TOP);
data.left = new FormAttachment(toolbar, 5, SWT.RIGHT);
data.right = new FormAttachment(canvas, -5, SWT.DEFAULT);
location.setLayoutData(data);
data = new FormData();
data.left = new FormAttachment(0, 5);
data.right = new FormAttachment(progressBar, 0, SWT.DEFAULT);
data.bottom = new FormAttachment(100, -5);
status.setLayoutData(data);

data = new FormData();
data.right = new FormAttachment(100, -5);
data.bottom = new FormAttachment(100, -5);
progressBar.setLayoutData(data);
if (browser != null) {
itemBack.setEnabled(browser.isBackEnabled());
itemForward.setEnabled(browser.isForwardEnabled());

Listener listener = new Listener() {
public void handleEvent(Event event) {
ToolItem item = (ToolItem)event.widget;
if (item == itemBack) browser.back();
else if (item == itemForward) browser.forward();
else if (item == itemStop) browser.stop();
else if (item == itemRefresh) browser.refresh();
else if (item == itemGo) browser.setUrl(location.getText());
}
};
browser.addLocationListener(new LocationListener() {
public void changed(LocationEvent event) {
busy = true;
if (event.top) location.setText(event.location);
}
public void changing(LocationEvent event) {
}
});
browser.addProgressListener(new ProgressListener() {
public void changed(ProgressEvent event) {
if (event.total == 0) return;
int ratio = event.current * 100 / event.total;
progressBar.setSelection(ratio);
busy = event.current != event.total;
if (!busy) {
index = 0;
canvas.redraw();
}
}
public void completed(ProgressEvent event) {
itemBack.setEnabled(browser.isBackEnabled());
itemForward.setEnabled(browser.isForwardEnabled());
progressBar.setSelection(0);
busy = false;
index = 0;
canvas.redraw();
}
});
browser.addStatusTextListener(new StatusTextListener() {
public void changed(StatusTextEvent event) {
status.setText(event.text);
}
});
if (parent instanceof Shell) {
final Shell shell = (Shell)parent;
browser.addTitleListener(new TitleListener() {
public void changed(TitleEvent event) {
shell.setText(event.title+" - "+getResourceString("window.title"));
}
});
}
itemBack.addListener(SWT.Selection, listener);
itemForward.addListener(SWT.Selection, listener);
itemStop.addListener(SWT.Selection, listener);
itemRefresh.addListener(SWT.Selection, listener);
itemGo.addListener(SWT.Selection, listener);
location.addListener(SWT.DefaultSelection, new Listener() {
public void handleEvent(Event e) {
browser.setUrl(location.getText());
}
});
initialize(display, browser);
browser.setUrl(getResourceString("Startup"));
}
}
static String getResourceString(String key) {
try {
return "key";
} catch (MissingResourceException e) {
return key;
} catch (NullPointerException e) {
return "!" + key + "!";
}
}
static String getResourceString(String key, Object[] args) {
try {
return MessageFormat.format(getResourceString(key), args);
} catch (MissingResourceException e) {
return key;
} catch (NullPointerException e) {
return "!" + key + "!";
}
}
static void initialize(final Display display, Browser browser) {
browser.addOpenWindowListener(new OpenWindowListener() {
public void open(WindowEvent event) {
System.out.println("Open");
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
Browser browser = new Browser(shell, SWT.NONE);
initialize(display, browser);
event.browser = browser;
}
});
browser.addVisibilityWindowListener(new VisibilityWindowListener() {
public void hide(WindowEvent event) {
}
public void show(WindowEvent event) {
System.out.println("Show");
Browser browser = (Browser)event.widget;
Shell shell = browser.getShell();
if (event.location != null) shell.setLocation(event.location);
if (event.size != null) {
Point size = event.size;
shell.setSize(shell.computeSize(size.x, size.y));
}
shell.open();
}
});
browser.addCloseWindowListener(new CloseWindowListener() {
public void close(WindowEvent event) {
System.out.println("Close");
Browser browser = (Browser)event.widget;
Shell shell = browser.getShell();
shell.close();
}
});
}
public void dispose() {
freeResources();
}
void freeResources() {
if (images != null) {
for (int i = 0; i < images.length; ++i) {
final Image image = images[i];
if (image != null) image.dispose();
}
images = null;
}
}
public void setFocus() {
location.setFocus();
}
public static void main(String [] args) {

Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
shell.setText("Browser example");
BrowserExample instance = new BrowserExample(shell);
Image icon = new Image(display, "C:/icons/web/go.gif");
shell.setImage(icon);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
icon.dispose();
instance.dispose();
display.dispose();
}
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
中文字幕在线精品| 一区二区中文视频| 日韩精品三级| 欧美亚洲免费高清在线观看| 日韩精品视频在线观看视频| 日韩精品在线观看视频| 日韩高清在线不卡| va中文字幕| 国产一级片在线播放| 国产乱国产乱老熟300| 国产欧美久久久精品影院| 久久视频一区| 精品国产欧美| 黄色一区二区在线| 一区二区在线高清视频| 日韩中文字幕在线视频观看| 一区二区在线观看不卡| 国产高清精品在线观看| 国产日韩亚洲欧美| 国产福利免费在线观看| 91欧美在线| 中文字幕日韩欧美| 不卡视频一区二区三区| 久久精品国产视频| 一级片免费网站| 中文字幕国产视频| 日韩精品在线免费播放| 欧美中日韩在线| 亚洲а∨精品天堂在线| 日本免费在线视频不卡一不卡二| 亚洲免费在线视频一区 二区| 日韩欧美亚洲区| 成人久久在线| 日韩中文字幕在线视频观看 | 欧美日韩国产一区中文午夜| 91久久精品国产91久久| 国产中文在线| 精品久久久视频| 久久精品蜜桃| 91精品视频观看| 中文精品视频| 日韩欧美999| 日本精品在线中文字幕| 国产一二三精品| 中文字幕欧美日韩在线不卡| 日韩精品―中文字幕| 国产1卡2卡三卡四卡网站| 国产一二三区精品视频| 亚洲免费观看在线观看| 91精品视频免费在线观看| 日韩视频一区| 中文官网资源新版中文第二页在线观看| 日韩欧美一级在线播放| 久精品在线观看| av免费在线不卡| 亚洲成av人片在线| 精品视频www| 亚洲福利精品在线| 日韩三级精品| 视频一区日韩| 一区二区精品区| 国产99在线 | 亚洲| 在线综合 亚洲 欧美中文字幕| 国产激情在线观看| 国产黄在线看| 成人a在线视频免费观看| 欧美日韩中文字幕视频| 二区视频在线观看| 国产视频一二区| 天天综合天天| 亚洲人线精品午夜| 日韩欧美在线第一页| 精品乱人伦一区二区三区| 日本国产一区| 欧美日韩三级一区| 不卡av免费在线| 国产一级免费看| 日韩精品在线视频观看| 日韩欧美亚洲国产一区| 亚洲大片精品永久免费| 黄色视屏免费在线观看| 亚洲高清在线免费| 日韩欧美在线网址| 中文字幕线观看| 欧美二三四区| 亚洲一区视频在线观看视频| 在线不卡日本| 综合图区亚洲白拍在线| 在线观看区一区二| 国产欧美日韩在线播放| 美国av一区二区| 91精品国产91久久| 中文字幕国产欧美| 日韩欧美中文字幕在线播放| 国产日韩在线视频| 日韩视频一区在线观看| 欧美 日韩 国产 在线| 亚洲一区激情| 一区二区视频免费看| 日韩精品视频在线免费观看| 欧美日韩精品免费看| 国产91久久久久| 亚洲综合在线视频| 天天综合天天| 国产在线精品日韩| 亚洲福利在线观看| 国产在线拍揄自揄拍| 中文字幕欧美在线| 亚洲成a人片在线www| 亚洲福利视频专区| 精品视频三区| 一区二区三区在线播放视频| 欧美日韩综合不卡| 国产在线精品国自产拍免费| 粉嫩喷白浆久久| 欧美日韩中文在线| 国产成人精品网址| 日韩欧美国产成人一区二区| 天堂√8在线中文| 1024国产在线| 日韩色在线观看| 蜜臀91精品国产高清在线观看| 日韩视频在线观看视频| 国产婷婷精品| 日本免费在线视频不卡一不卡二| 欧美国产小视频| 日韩午夜黄色| 中文字幕亚洲一区二区av在线| 精品视频www| 日韩欧美国产免费| 大香一本蕉伊线亚洲网| 91精品高清| 一区二区三区精品在线观看| 日韩欧美不卡在线| 国产卡1卡2卡三卡在线| 日韩视频1区| 欧美日韩久久不卡| 五月天久久比比资源色| 精品福利一区二区三区| 欧美日韩精品是欧美日韩精品| 久久精品欧美日韩精品| 欧美三级在线播放| 亚洲一二三不卡| 国产日韩专区| 欧美亚洲天堂网| 中文字幕精品www乱入免费视频| 亚洲高清视频一区| 久久久久蜜桃| 亚洲伊人婷婷| 亚洲黄色www| 亚洲 欧美 精品| 中文字幕在线亚洲| 中文字幕在线播放一区| 国产黄色在线播放| 成人禁用看黄a在线| 日韩在线不卡一区| 亚洲一区在线观看网站| 在线观看国产福利视频| 欧美不卡视频一区发布| 亚洲热线99精品视频| 亚洲图片小说综合| 亚洲最新免费视频| 亚洲娇小xxxx欧美娇小| 黄色片免费看| 精品视频资源站| 亚洲国产欧美日韩精品| 欧美一级久久久久久久久大| 日韩av综合在线观看| av一区在线| 欧美成人精品在线| 国产伦精品免费视频| 亚洲成年人影院在线| 精品欧美不卡一区二区在线观看| 欧美色视频一区二区三区在线观看 | 日本亚洲欧美| 欧美一级免费观看| 一区二区三区鲁丝不卡| 亚洲娇小xxxx欧美娇小| 亚洲福利精品在线| 日韩一级网站| 在线国产1区| 玖玖在线免费视频| 色妇色综合久久夜夜| www.eeuss影院| 一区二区三区视频网站| 黄色一区二区视频| 精人妻一区二区三区| 欧美日韩高清不卡| 日韩在线观看精品| 日韩三级视频在线播放| 在线观看中文字幕一区| 91精品国产调教在线观看| 日韩精品―中文字幕| 亚洲一区精品电影| 色屁屁一区二区| 欧美日韩国产综合网| 免费精品国产自产拍观看| 欧美日韩综合在线免费观看| 精品视频在线视频| 久久久91精品国产| 中文字幕在线观看播放| 影音先锋一区二区资源站| 日韩一级视频在线观看| 亚洲精品中文字幕乱码三区不卡| 亚洲一区在线观看视频| 三级网站免费观看| 日韩午夜中文字幕| 国产一区精品在线| 日韩精品乱码av一区二区| 国内不卡的二区三区中文字幕| 91极品视频在线观看| 九七久久人人| 国产亚洲一级| 国产传媒久久久| 在线观看国产一区| 中文字幕日韩亚洲| 国产日韩精品在线| 色综合天天综合网国产成人综合天| 国产成人精品免费网站| 久久香蕉一区| 午夜伊人狠狠久久| 日韩三区免费| 国产亚洲污的网站| 在线日韩欧美| 国产中文伊人| 国产欧美日韩中文久久| 日韩欧美一级二级三级久久久| 日韩精品视频中文在线观看| 国产日韩av一区二区| 一区二区欧美国产| 欧美特黄一区| 一区二区三区视频网站| 精品成人久久久| 欧美日韩国产中字| 久久久99免费| 亚洲成在线观看| 国产日韩精品久久久| 国产成人精品网址| 久久99久久久久| 欧美日韩一二三| 樱花草www在线| wwwwww国产| 日韩欧美资源站| eeuss一区| 久久永久免费视频| 欧美亚洲国产日韩2020| 久久精品在线观看| 中文字幕在线日韩| 日韩欧美高清在线视频| 亚洲欧洲日韩在线| 91精品在线看V| 欧美三级中文字幕| 人成免费在线视频| 不卡在线视频| 亚洲3区在线| 久久欧美中文字幕| 日韩精品不卡一区二区| 欧美日韩视频免费看| 中文字幕在线观看欧美| 久久久91精品国产| 一区二区三区精品99久久| 亚洲欧美中文字幕| 日韩www在线| 精品熟女一区二区三区| 国产超级va在线视频| 日韩精品a在线观看91| 精品久久香蕉国产线看观看gif| 中文字幕精品在线视频| 精品精品久久| 日韩三级视频在线| 九九在线精品| 深夜日韩欧美| 久久精品国产视频| 日本黄色一区二区| 在线免费播放av| 欧美日韩精品免费看| 一区免费在线| 91精品久久久久久蜜臀| 91精品国产91久久久久| 亚洲中文字幕一区| 久久精品人妻一区二区三区| 蜜臀国产一区| 日韩专区中文字幕| 亚洲第一精品在线| 精品视频久久| 激情五月综合| 欧美日韩精品久久久| 日韩国产在线不卡视频| 视频一区二区精品的福利| 欧美在线视频一区二区| 天天综合日日夜夜精品| 91蜜桃婷婷狠狠久久综合9色| 欧美国产一级片| 日韩在线视频观看| 欧美日韩国产一中文字不卡| 在线亚洲人成| 国产男女av| 不卡av免费在线| 91精品视频播放| 日韩不卡高清视频| 亚洲大片精品永久免费| 久久久精品日韩欧美| 欧美乱大交xxxxx免费| 樱花草www在线| 亚洲专区一二三| 国产在线高清精品| 欧美日韩国产中文| 午夜成人鲁丝片午夜精品| 成人精品国产福利| 国产婷婷色一区二区三区在线| 日韩.com| 欧美日韩国产一中文字不卡| 亚洲一区在线观看免费| 欧美日韩国产一区在线| 欧美日韩综合在线免费观看| 欧美日韩国产一区| 91精品国产欧美日韩| 欧美日韩国产一区在线| 欧美一卡2卡3卡4卡| 亚洲理论中文字幕| 日韩欧美久久| 日韩一级二级三级| 国产福利免费观看| 日韩精品视频在线观看免费| 中文字幕日韩在线观看| 黄色一区二区在线| 国产在线不卡av| 精品国产91| 国产区日韩欧美| 久久 天天综合| 亚洲国产午夜精品| 另类专区欧美| 亚洲综合在线小说| 精品日韩在线观看| 欧美日韩乱国产| 国产在线精品国自产拍免费| 精人妻一区二区三区| 欧美日韩国产综合视频在线观看中文| 欧美成人精品在线| 精品网站999www| 国产高清在线视频| 欧洲精品在线视频| 久久久久久99精品| 在线日韩欧美| 国产91大片| 中文 欧美 日韩| 欧美日韩国产综合视频在线观看中文| 久草视频观看| 国产免费不卡av| 精品一二三四区| 国产一区在线精品| 欧美天堂一区二区| 午夜亚洲一区| 在线观看av的网站| 国产最顶级的黄色片在线免费观看| 国产欧美日韩不卡| 亚洲娇小xxxx欧美娇小| 亚欧成人精品| 精品日韩一区二区三区免费视频| 粉嫩喷白浆久久| 免费国产h视频在线观看86| 深夜日韩欧美| 亚洲男人在线| 亚洲大片精品永久免费| 一本久久a久久精品亚洲| 国产成人精品三级| 亚洲高清中文字幕| 日韩中文字幕精品视频| 欧洲精品在线视频| 日韩在线不卡一区| 国产一级网站视频在线| 国产激情在线观看| 拍真实国产伦偷精品| 区日韩二区欧美三区| 97最新国自产拍视频在线完整在线看| 国产三级做爰在线观看| 国产91大片| 国产日韩1区| 亚洲制服丝袜一区| 日韩在线视频中文字幕| 国产欧美日韩91| 国产视频1区| 欧美日韩国产一区| 国产裸舞福利在线视频合集| 香蕉av一区| 日韩精品―中文字幕| 日韩精品乱码av一区二区| 亚洲电影中文字幕在线观看| 日韩精品大片| 日韩在线a电影| 国产在线不卡av| 日本а中文在线天堂| 91精品国产手机| 亚洲最新永久观看在线| 日韩欧美中文第一页| 欧美 日韩 综合| 尤物av一区二区| 999在线视频| 久久精品久久久久| 国产久卡久卡久卡久卡视频精品|