📄 webbrowserpane.java
字号:
// WebBrowserPane.java
// WebBrowserPane is a simple Web-browsing component that
// extends JEditorPane and maintains a history of visited URLs.
package com.deitel.advjhtp1.gui.webbrowser;
// Java core packages
import java.util.*;
import java.net.*;
import java.io.*;
// Java extension packages
import javax.swing.*;
import javax.swing.event.*;
public class WebBrowserPane extends JEditorPane {
private List history = new ArrayList();
private int historyIndex;
// WebBrowserPane constructor
public WebBrowserPane()
{
// disable editing to enable hyperlinks
setEditable( false );
}
// display given URL and add it to history
public void goToURL( URL url )
{
displayPage( url );
history.add( url );
historyIndex = history.size() - 1;
}
// display next history URL in editorPane
public URL forward()
{
historyIndex++;
// do not go past end of history
if ( historyIndex >= history.size() )
historyIndex = history.size() - 1;
URL url = ( URL ) history.get( historyIndex );
displayPage( url );
return url;
}
// display previous history URL in editorPane
public URL back()
{
historyIndex--;
// do not go past beginning of history
if ( historyIndex < 0 )
historyIndex = 0;
// display previous URL
URL url = ( URL ) history.get( historyIndex );
displayPage( url );
return url;
}
// display given URL in JEditorPane
private void displayPage( URL pageURL )
{
// display URL
try {
setPage( pageURL );
}
// handle exception reading from URL
catch ( IOException ioException ) {
ioException.printStackTrace();
}
}
}
/***************************************************************
* (C) Copyright 2002 by Deitel & Associates, Inc. and *
* Prentice Hall. All Rights Reserved. *
* *
* DISCLAIMER: The authors and publisher of this book have *
* used their best efforts in preparing the book. These *
* efforts include the development, research, and testing of *
* the theories and programs to determine their effectiveness. *
* The authors and publisher make no warranty of any kind, *
* expressed or implied, with regard to these programs or to *
* the documentation contained in these books. The authors *
* and publisher shall not be liable in any event for *
* incidental or consequential damages in connection with, or *
* arising out of, the furnishing, performance, or use of *
* these programs. *
***************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -