楼上的兄弟我再问一下:
public class WebToolBar extends JToolBar implements HyperlinkListener
{
private WebBrowserPane webBrowserPane;
                  //WebBrowserPane始自定义的一个继承自JEditorPane
private JButton backButton,forwardButton;
private JTextField urlTextField;
public WebToolBar(WebBrowserPane browser)
{
super("Web Navigation");
webBrowserPane=browser;
webBrowserPane.addHyperlinkListener(this);
          } public void hyperlinkUpdate(HyperlinkEvent event)
{
if(event.getEventType()==HyperlinkEvent.EventType.ACTIVATED)
{
URL url=event.getURL();
webBrowserPane.goToURL(url);
urlTextField.setText(url.toString());
}
}
在这段程序中webBrowserPane.addHyperlinkListener(this);指向的是public void hyperlinkUpdate(HyperlinkEvent event)方法吗??
还有在这个类声明中声明implements HyperlinkListener有作用吗?可以删除否??

解决方案 »

  1.   

    指向的是public void hyperlinkUpdate(HyperlinkEvent event)方法
    这个类声明中声明implements HyperlinkListener有作用
    不可删除,
    它重载了HyperlinkListener中的hyperlinkUpdate(HyperlinkEvent event)方法
      

  2.   

    你本身的class WebToolBar就是一个监听借口的实现!add的是这个类的本身,也就是说add的是你的类本身,在事件被触发时会执行hyperlinkUpdate函数,你如果删除impl.......的话,你没有实现借口,add listner就不能add this,编译就会报错!
      

  3.   

    两位大侠如果我将implements HyperlinkListener声明去掉该程序段是否可改为:
    public class WebToolBar extends JToolBar 
    {
    private WebBrowserPane webBrowserPane;
                      //WebBrowserPane始自定义的一个继承自JEditorPane
    private JButton backButton,forwardButton;
    private JTextField urlTextField;
    public WebToolBar(WebBrowserPane browser)
    {
    super("Web Navigation");
    webBrowserPane=browser;
    webBrowserPane.addHyperlinkListener
                      (    
                          new  HyperlinkListener()
                {
                   public void hyperlinkUpdate(HyperlinkEvent event)
                  { 
               if(event.getEventType()=HyperlinkEvent.EventType.ACTIVATED)
                   {
    URL url=event.getURL();
    webBrowserPane.goToURL(url);
    urlTextField.setText(url.toString());
                   }
                  }
                  }
               );
                }
    }