Java JEditorPane可以';为什么不接受谷歌的搜索查询?

Java JEditorPane可以';为什么不接受谷歌的搜索查询?,java,user-interface,swing,jeditorpane,Java,User Interface,Swing,Jeditorpane,我正在使用JEditorPane创建一个非常基本的web浏览器,只是为了自学Java中的Swing和GUI,但在实现类似Firefox的Google搜索栏时遇到了困难 我不确定这是否是由于JEditorPane的限制或我的理解不足,但如果我尝试将键入的字符串输入“Google Search”栏,并使用JEditorPane的setPage()方法,它将不起作用 以下是我为“谷歌搜索”按钮的ActionListener编写的代码: 即使我尝试只做content.setPage(“”);它不起作用,

我正在使用JEditorPane创建一个非常基本的web浏览器,只是为了自学Java中的Swing和GUI,但在实现类似Firefox的Google搜索栏时遇到了困难

我不确定这是否是由于JEditorPane的限制或我的理解不足,但如果我尝试将键入的字符串输入“Google Search”栏,并使用JEditorPane的setPage()方法,它将不起作用

以下是我为“谷歌搜索”按钮的ActionListener编写的代码:

即使我尝试只做content.setPage(“”);它不起作用,这与setPage()获取URL字符串的方式有关吗?因为它不喜欢“?”或“=”字符,或者有其他方法可以一起使用吗

谢谢你抽出时间


InfinitiFizz

即使是实现最简单的浏览器,JEditorPane也是一个糟糕的选择。它可以显示简单的HTML页面,但仅限于此


试试看,它运行得很好(它不是一个完整的浏览器,但足够近)。他们有一个模拟web浏览器的例子。

就像adrian.tarau所说,JEditorPane在显示现代网页方面非常差。
它甚至不支持HTML4或Javascript。我相信谷歌使用Javascript使搜索按钮工作


另一个建议是使用Lobo浏览器/

如果您需要Java中的完整浏览器,请签出Lobo:

添加一些内容以打印您捕获的异常,您将看到您正在接收一个异常

有很多Java机器人,站点已经开始在用户代理字段中使用“Java”阻止请求。谷歌会让你获得他们的主页,但不会让你搜索,除非你覆盖用户代理字段


使用
-Dhttp.agent=myappname/1.0启动jvm,其中myappname是应用程序的名称。

我必须使用JEditorPane,因为我没有制作一个完整的web浏览器,这只是为了教我Swing和GUI。所以我不能使用其他Java浏览器引擎。另外,正如我在上面的代码中所显示的,我并没有试图实现“Google搜索”按钮的侦听器,我已经创建了一个JTextField“搜索框”和一个JButton“搜索”按钮,我只是想知道它是否不喜欢?或=在用于谷歌搜索的字符串中(因为如果我删除了?和=它会尝试转到“”很好)。谢谢你的回答,但它没有回答我的问题。请看我对jonescb答案的评论。请看我对jonescb答案的评论。
public void actionPerformed(ActionEvent arg0) 
{
    try
    {
        content.setPage("http://www.google.com/search?q=" + searchBar.getText());
    }
    catch (IOException e) 
    {
        JOptionPane.showMessageDialog(frame, "Error searching for: " + searchBar.getText());
    }
}