实现轻量级java webbrowser

实现轻量级java webbrowser,java,swing,Java,Swing,这是我关于堆栈溢出的第一个问题,所以如果它是不好的形式,请原谅并纠正我 正如标题所暗示的,我正试图用Java实现一个轻量级web浏览器,但我遇到了一个问题,但在详细介绍之前,我将简要介绍我的实现: 该计划由以下类别组成: GUI(扩展JFrame实现HyperlinkListener):图形用户界面 发动机:执行所有实际工作 BlackListPolicy(实现CookiePolicy) 我使用内容设置为“text/html”的JEditorPane来显示网页 无论何时单击“GO”按钮或链接,引

这是我关于堆栈溢出的第一个问题,所以如果它是不好的形式,请原谅并纠正我

正如标题所暗示的,我正试图用Java实现一个轻量级web浏览器,但我遇到了一个问题,但在详细介绍之前,我将简要介绍我的实现:

该计划由以下类别组成:
GUI(扩展JFrame实现HyperlinkListener):图形用户界面
发动机:执行所有实际工作
BlackListPolicy(实现CookiePolicy)

我使用内容设置为“text/html”的JEditorPane来显示网页 无论何时单击“GO”按钮或链接,引擎都会获得一个URL,然后单击JEditorPane.setPage(URL)

这就引出了我问题的第一部分:
浏览器正在工作,但是只显示简单的html页面 如果我去谷歌,例如,如果我点击一个链接,它会记住我的设置(Cookies) 但是,如果按下“谷歌搜索”按钮,例如什么都没有发生,就不会显示嵌入的对象(Flash、小程序等),其他页面也不会被正确编码

我的理论是JEditorPane不能显示这样的对象,对于web浏览器来说不是一个好的选择,或者我为它设置了错误的内容类型

至于我问题的第二部分:
作为一名厨师长,我正在做以下工作:

BlackListPolicy BlackListPolicy=新的BlackListPolicy()
CookieManager CookieManager=新CookieManager(空,blackListPolicy)

因此,我使用默认的CookieStore,据我有限的理解,它使用一个内部实现来存储cookie(它们不是持久的),这正是我想要的 然而,如果有人继续我所说的“极端浏览会话”,存储过量的cookie,会不会导致任何性能或内存问题,或者默认的CookieStore是否处理此类情况

在你提问之前,是的,我是一名学生,但这不是家庭作业,甚至不是与我当前的编程课程相关的东西,这是我想要实现的东西,因为我注意到学习编程的最佳方法是编写程序
我只需要抽象的答案,也许有一个链接可以让我找到正确的方向,如果你想让我发布我的代码,我很乐意这样做


~Thank

您的
JEditorPane
上的设置没有错误,因为它只支持HTML的一小部分。如果你想要更好的东西,你必须自己构建一个完整的浏览器,这绝对不是一个小项目。

我知道这是一篇老文章,但是,你考虑过使用HTMLUnit吗

这有点复杂,但我认为这正是您想要的——一个完全基于java的浏览器库,具有完全的JS支持


也许这会有帮助:嵌入Java的web浏览器供将来参考:在这篇文章中,你有两个问题是正交的——因此你应该写两篇不同的文章(如果你愿意,你可以根据需要从一篇文章链接到另一篇文章,但我认为在这种情况下不需要)@Costis谢谢你的链接@lucas谢谢我会记住的谢谢你的快速回答,但是如果我想要更好的东西,有什么资料可以帮我吗?你觉得我问题的第二部分关于CookieStore的内容怎么样~thanks@Batreekh,我对CookieStore没有任何经验,但我认为用户在遇到内存或性能问题之前必须进行大量的网络冲浪。我认为,如果您接近内存限制,一些存储的cookie将被删除。