忘把文件给你了 ############################################################################### # Copyright (c) 2000, 2003 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html # # Contributors: # IBM Corporation - initial API and implementation ############################################################################### error.CouldNotLoadResources = Unable to load resources Back = Back BrowserNotCreated = Error - The Browser widget could not be instantiated. Please check the Browser widget is supported on this platform. Supported platforms and software requirements for the Browser widget are listed on the SWT FAQ web page. Forward = Forward Stop = Stop Refresh = Refresh Enter = Go Home = Home Startup = http://www.google.com
javascript:void(document.getElementById('q').value='csdn';)
回车
我是想:编一个Java小程序,打开程序,按一下按钮,实现自动填写表单并提交的功能
谢谢ls了
如果不是模拟的话可以使用httpclient
java可以写浏览器外壳.
我曾经在VC—MFC版块提问过
嘿嘿,没人答理···
请高人帮帮忙,浏览器框架不用操心,只想知道实现上面功能的代码、步骤
谢谢了
* Copyright (c) 2000, 2006 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package com.syj.tools.controller;import java.util.MissingResourceException;
import java.util.ResourceBundle;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.VisibilityWindowListener;
import org.eclipse.swt.browser.WindowEvent;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Point;
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.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
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 SimpleBrowser {
private static ResourceBundle resourceBundle = ResourceBundle
.getBundle("Simplebrowser"); private Composite parent; private Text locationBar; private Browser browser; private ToolBar toolbar; private Button enter; private ToolItem itemBack, itemForward; private Label status; private ProgressBar progressBar; public SimpleBrowser(Composite parent, boolean top) {
this.parent = parent;
try {
browser = new Browser(parent, SWT.BORDER);
} catch (SWTError e) {
/* Browser widget could not be instantiated */
parent.setLayout(new FillLayout());
Label label = new Label(parent, SWT.CENTER | SWT.WRAP);
label.setText(getResourceString("BrowserNotCreated"));
parent.layout(true);
return;
}
final Display display = parent.getDisplay();
browser.setData(
"org.eclipse.swt.examples.browserexample.BrowserApplication",
this);
browser.addOpenWindowListener(new OpenWindowListener() {
public void open(WindowEvent event) {
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
SimpleBrowser app = new SimpleBrowser(shell, false);
event.browser = app.getBrowser();
}
});
if (top) {
browser.setUrl(getResourceString("Startup"));
show(false, null, null, true, true, true, true);
} else {
browser.addVisibilityWindowListener(new VisibilityWindowListener() {
public void hide(WindowEvent e) {
} public void show(WindowEvent e) {
Browser browser = (Browser) e.widget;
SimpleBrowser app = (SimpleBrowser) browser
.getData("org.eclipse.swt.examples.browserexample.BrowserApplication");
app.show(true, e.location, e.size, e.addressBar, e.menuBar,
e.statusBar, e.toolBar);
}
});
browser.addCloseWindowListener(new CloseWindowListener() {
public void close(WindowEvent event) {
Browser browser = (Browser) event.widget;
Shell shell = browser.getShell();
shell.close();
}
});
}
}
public void test(){
browser.setUrl("javascript:void(document.getElementById('q').value='csdn')");
}
/**
* Gets a string from the resource bundle. We don't want to crash because of
* a missing String. Returns the key if not found.
*/
static String getResourceString(String key) {
try {
return resourceBundle.getString(key);
} catch (MissingResourceException e) {
return key;
} catch (NullPointerException e) {
return "!" + key + "!";
}
} public Browser getBrowser() {
return browser;
}
}
boolean menuBar, boolean statusBar, boolean toolBar) {
final Shell shell = browser.getShell();
if (owned) {
if (location != null)
shell.setLocation(location);
if (size != null)
shell.setSize(shell.computeSize(size.x, size.y));
}
FormData data = null;
if (toolBar) {
toolbar = new ToolBar(parent, SWT.NONE);
data = new FormData();
data.top = new FormAttachment(0, 5);
toolbar.setLayoutData(data);
itemBack = new ToolItem(toolbar, SWT.PUSH);
itemBack.setText(getResourceString("Back"));
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 itemHome = new ToolItem(toolbar, SWT.PUSH);
itemHome.setText(getResourceString("Home")); 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 == itemHome)
browser.setUrl(getResourceString("Startup"));
}
};
itemBack.addListener(SWT.Selection, listener);
itemForward.addListener(SWT.Selection, listener);
itemStop.addListener(SWT.Selection, listener);
itemRefresh.addListener(SWT.Selection, listener);
itemHome.addListener(SWT.Selection, listener); enter = new Button(parent, SWT.None);
enter.setText(getResourceString("Enter"));
enter.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
browser.setUrl(locationBar.getText());
}
});
data = new FormData();
data.width = 24;
data.height = 20;
data.top = new FormAttachment(0, 5);
data.right = new FormAttachment(100, -5);
enter.setLayoutData(data);
}
if (addressBar) {
locationBar = new Text(parent, SWT.BORDER);
data = new FormData();
if (toolbar != null) {
data.top = new FormAttachment(toolbar, 0, SWT.TOP);
data.left = new FormAttachment(toolbar, 5, SWT.RIGHT);
data.right = new FormAttachment(enter, -5, SWT.DEFAULT);
} else {
data.top = new FormAttachment(0, 0);
data.left = new FormAttachment(0, 0);
data.right = new FormAttachment(100, 0);
}
locationBar.setLayoutData(data);
locationBar.addListener(SWT.DefaultSelection, new Listener() {
public void handleEvent(Event e) {
browser.setUrl(locationBar.getText());
}
});
}
if (statusBar) {
status = new Label(parent, SWT.NONE);
progressBar = new ProgressBar(parent, SWT.NONE); 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);
browser.addStatusTextListener(new StatusTextListener() {
public void changed(StatusTextEvent event) {
status.setText(event.text);
}
});
}
parent.setLayout(new FormLayout()); Control aboveBrowser = toolBar ? (Control) enter
: (addressBar ? (Control) locationBar : null);
data = new FormData();
data.left = new FormAttachment(0, 0);
data.top = aboveBrowser != null ? new FormAttachment(aboveBrowser, 5,
SWT.DEFAULT) : new FormAttachment(0, 0);
data.right = new FormAttachment(100, 0);
data.bottom = status != null ? new FormAttachment(status, -5,
SWT.DEFAULT) : new FormAttachment(100, 0);
browser.setLayoutData(data); if (statusBar || toolBar) {
browser.addProgressListener(new ProgressListener() {
public void changed(ProgressEvent event) {
if (event.total == 0)
return;
int ratio = event.current * 100 / event.total;
if (progressBar != null)
progressBar.setSelection(ratio);
} public void completed(ProgressEvent event) {
if (progressBar != null)
progressBar.setSelection(0);
test();
}
});
}
if (addressBar || statusBar || toolBar) {
browser.addLocationListener(new LocationListener() {
public void changed(LocationEvent event) {
if (event.top && locationBar != null)
locationBar.setText(event.location);
} public void changing(LocationEvent event) {
}
});
}
parent.layout(true);
if (owned)
shell.open();
} /**
* Grabs input focus
*/
public void focus() {
if (locationBar != null)
locationBar.setFocus();
else if (browser != null)
browser.setFocus();
else
parent.setFocus();
} public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
SimpleBrowser sb=new SimpleBrowser(shell, true);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
原理同1楼,没别的问题就结贴吧,我不想再讨论了,这样的程序有啥意义?
###############################################################################
# Copyright (c) 2000, 2003 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
# IBM Corporation - initial API and implementation
###############################################################################
error.CouldNotLoadResources = Unable to load resources
Back = Back
BrowserNotCreated = Error - The Browser widget could not be instantiated. Please check the Browser widget is supported on this platform. Supported platforms and software requirements for the Browser widget are listed on the SWT FAQ web page.
Forward = Forward
Stop = Stop
Refresh = Refresh
Enter = Go
Home = Home
Startup = http://www.google.com