A Java component which provides the capability of browsing the web. Here are the requirements: 1) It should probably be a subclass of something like JPanel or Component, but we are open to your recommendations. 2) There should be no UI, but instead programatic capability to do these browser functions: Go to URL, Stop Update, Go to Previous, Go to Next, Open HTML file, Set Font Size and Print. The component should be refreshed in its own thread so it doesn't block the rest of the application. That is why functions such as stop update and open url. 3) It should be more or less up to date in terms of what kinds of HTML it accepts. In other words, it should definitely be more compliant than the Java JEditorPane, but it's ok if it doesn't support the latest odd wrinkles of IE 6.0. We've tried to use JEditorPane for this purpose and find it insufficient. I don't know its limitations well enough unfortunately to tell you exactly what the weaknesses are. But when you look at something as simple as [url removed, login to view] it doesn't look 'right.' It should work as well as Opera or Mozilla (which are pretty compliant but are not IE 6.0 clones.) 4) A simple test harness should be provided to illustrate the use of the component. 5) The redraw behavior should be very fast and totally flicker free. 6) It is ok if it includes any existing OPEN SOURCE or other equivalent freely distributable libraries. It CANNOT include any commercial libraries. By the way, we don't expect you to write a whole new browser, what we are looking for certainly will be a packaging of some existing library like mozilla or the IE Active/X control from Microsoft or something else like that that we don't know about. Please write to request additional clarifications or details.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. Note that any binary libraries that are used must be either OPEN SOURCE or FREELY DISTRIBUTABLE. It is ok, however, if those libraries are in binary form. 2) Installation package consisting of one or more JARs and other binaries, plus a readme explaining how to use the library, plus JavaDocs explaining the use of the library. 3) Complete ownership and distribution copyrights to all work purchased. 4) We require a code and deliverable drop once a week, no matter what state it is in. This is simply to callibrate progress and provide feedback if needed. 5) We require a simple design memo indicating the technical approach being considered BEFORE coding begins.
The interface should all be Java based. In other words the user of this component should easily be able to incorporate it into a Java application by including one or more files on the path. The key interface must be in Java, but if there are supporting libraries which are not Java, that would be acceptable. No need to support earlier JVMs than Java 1.4. The overall application should work cross platform, wherever Java 1.4 is available, but tested primarily on Windows XP.