form1.java
来自「java internet 浏览器:一个java编写的web浏览器」· Java 代码 · 共 275 行
JAVA
275 行
import com.ms.wfc.app.*;
import com.ms.wfc.core.*;
import com.ms.wfc.ui.*;
import com.ms.wfc.html.*;
/**
* This class can take a variable number of parameters on the command
* line. Program execution begins with the main() method. The class
* constructor is not invoked unless an object of type 'Form1' is
* created in the main() method.
*/
public class Form1 extends Form
{
private String address="";
public Form1()
{
// Required for Visual J++ Form Designer support
initForm();
}
/**
* Form1 overrides dispose so it can clean up the
* component list.
*/
public void dispose()
{
super.dispose();
components.dispose();
}
private void toolBar_buttonClick(Object source, ToolBarButtonClickEvent e)
{
if (e.button == backButton)
{
try
{
webBrowser.GoBack();
}
catch (com.ms.com.ComFailException exc)
{
MessageBox.show("Error,there is nowhere to goback!",
"Internet explorer",MessageBox.ICONERROR);
}
}
else if (e.button == forwardButton)
{
try
{
webBrowser.GoForward();
}
catch (com.ms.com.ComFailException exc)
{
MessageBox.show("Error,there is nowhere to goforward!",
"Internet explorer",MessageBox.ICONERROR);
}
}
else if (e.button == homeButton)
{
try
{
webBrowser.GoHome();
}
catch (com.ms.com.ComFailException exc){}
}
else if (e.button == browserButton)
{
try
{
webBrowser.Navigate(address,null,null,null,null);
}
catch (com.ms.com.ComFailException exc){}
}
else if (e.button == refreshButton)
{
try
{
webBrowser.Refresh();
address=webBrowser.getLocationURL();
edit.setText(address);
}
catch (com.ms.com.ComFailException exc){}
}
else if (e.button == stopButton)
{
try
{
webBrowser.Stop();
}
catch (com.ms.com.ComFailException exc){}
}
else if (e.button == exitButton)
{
Application.exit();
}
else {}
}
private void edit_textChanged(Object source, Event e)
{
address=edit.getText();
}
private void edit_keyPress(Object source, KeyPressEvent e)
{
if(e.keyChar==Key.RETURN)
{
try
{
webBrowser.Navigate(address,null,null,null,null);
}
catch (com.ms.com.ComFailException exc){}
}
}
private void webBrowser_documentComplete(Object source, shdocvw.WebBrowser.DocumentCompleteEvent e)
{
address=webBrowser.getLocationURL();
edit.setText(address);
}
/**
* NOTE: The following code is required by the Visual J++ form
* designer. It can be modified using the form editor. Do not
* modify it using the code editor.
*/
Container components = new Container();
ToolBar toolBar = new ToolBar();
ImageList imageList = new ImageList();
ToolBarButton backButton = new ToolBarButton();
ToolBarButton forwardButton = new ToolBarButton();
ToolBarButton homeButton = new ToolBarButton();
ToolBarButton seperateButton2 = new ToolBarButton();
ToolBarButton browserButton = new ToolBarButton();
ToolBarButton refreshButton = new ToolBarButton();
ToolBarButton stopButton = new ToolBarButton();
ToolBarButton seperateButton1 = new ToolBarButton();
ToolBarButton exitButton = new ToolBarButton();
shdocvw.WebBrowser.WebBrowser webBrowser = new shdocvw.WebBrowser.WebBrowser();
Label label1 = new Label();
Edit edit = new Edit();
private void initForm()
{
// NOTE: This form is storing resource information in an
// external file. Do not modify the string parameter to any
// resources.getObject() function call. For example, do not
// modify "foo1_location" in the following line of code
// even if the name of the Foo object changes:
// foo1.setLocation((Point)resources.getObject("foo1_location"));
IResourceManager resources = new ResourceManager(this, "Form1");
this.setFont(new Font("宋体", 11.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0));
this.setText("网络浏览器");
this.setAutoScaleBaseSize(new Point(7, 14));
this.setClientSize(new Point(577, 405));
this.setIcon((Icon)resources.getObject("this_icon"));
components.add(imageList, "imageList");
imageList.setImageStream((ImageListStreamer)resources.getObject("imageList_imageStream"));
/* @designTimeOnly imageList.setLocation(new Point(456, 15)); */
components.add(backButton, "backButton");
backButton.setImageIndex(0);
backButton.setItemData("");
backButton.setText("后退");
backButton.setToolTipText("后退");
components.add(forwardButton, "forwardButton");
forwardButton.setImageIndex(1);
forwardButton.setText("前进");
forwardButton.setToolTipText("前进");
components.add(homeButton, "homeButton");
homeButton.setImageIndex(2);
homeButton.setText("主页");
homeButton.setToolTipText("主页");
components.add(seperateButton2, "seperateButton2");
seperateButton2.setStyle(ToolBarButtonStyle.SEPARATOR);
components.add(browserButton, "browserButton");
browserButton.setImageIndex(3);
browserButton.setText("浏览");
browserButton.setToolTipText("浏览");
components.add(refreshButton, "refreshButton");
refreshButton.setImageIndex(4);
refreshButton.setText("刷新");
refreshButton.setToolTipText("刷新");
components.add(stopButton, "stopButton");
stopButton.setImageIndex(5);
stopButton.setText("停止");
stopButton.setToolTipText("停止");
components.add(seperateButton1, "seperateButton1");
seperateButton1.setStyle(ToolBarButtonStyle.SEPARATOR);
components.add(exitButton, "exitButton");
exitButton.setImageIndex(6);
exitButton.setText("退出");
exitButton.setToolTipText("退出");
components.add(toolBar, "toolBar");
toolBar.setAllowDrop(true);
toolBar.setFont(new Font("宋体", 11.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0));
toolBar.setSize(new Point(577, 44));
toolBar.setTabIndex(1);
toolBar.setAppearance(ToolBarAppearance.FLAT);
toolBar.setButtons(new ToolBarButton[] {
backButton,
forwardButton,
homeButton,
seperateButton2,
browserButton,
refreshButton,
stopButton,
seperateButton1,
exitButton});
toolBar.setButtonSize(new Point(60, 40));
toolBar.setDropDownArrows(true);
toolBar.setImageList(imageList);
toolBar.setWrappable(false);
toolBar.setShowToolTips(true);
toolBar.addOnButtonClick(new ToolBarButtonClickEventHandler(this.toolBar_buttonClick));
components.add(webBrowser, "webBrowser");
webBrowser.setAnchor(ControlAnchor.ALL);
webBrowser.setLocation(new Point(0, 72));
webBrowser.setSize(new Point(577, 336));
webBrowser.setTabIndex(2);
webBrowser.setOcxState((AxHost.State)resources.getObject("webBrowser_ocxState"));
webBrowser.addOnDocumentComplete(new shdocvw.WebBrowser.DocumentCompleteHandler(this.webBrowser_documentComplete));
components.add(label1, "label1");
label1.setFont(new Font("宋体", 11.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0));
label1.setLocation(new Point(9, 46));
label1.setSize(new Point(45, 18));
label1.setTabIndex(4);
label1.setTabStop(false);
label1.setText("地址:");
components.add(edit, "edit");
edit.setAnchor(ControlAnchor.TOPLEFTRIGHT);
edit.setFont(new Font("Times New Roman", 11.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0));
edit.setLocation(new Point(44, 42));
edit.setSize(new Point(532, 23));
edit.setTabIndex(0);
edit.setText("");
edit.addOnKeyPress(new KeyPressEventHandler(this.edit_keyPress));
edit.addOnTextChanged(new EventHandler(this.edit_textChanged));
this.setNewControls(new Control[] {
edit,
label1,
webBrowser,
toolBar});
webBrowser.begin();
}
/**
* The main entry point for the application.
*
* @param args Array of parameters passed to the application
* via the command line.
*/
public static void main(String args[])
{
Application.run(new Form1());
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?