Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Java Browser


Автор: Muerto 18.2.2011, 03:47
Хотелось бы делать мини браузер.
Через какой нить swing 
Что бы мы вводили url и нам показывает страницу

Видел вот такой код

Код

import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
import java.awt.Color;
import java.awt.Container;
import java.io.IOException;

import static java.lang.System.err;
import static java.lang.System.out;

/**
 * Eaxample use of Java HTML Rendering. Renders HTML 3.2 plus some CSS. Does not ignore comments properly. Does not.
 * <p/>
 * implement clickable links.
 *
 * @author Roedy Green, Canadian Mind Products
 * @version 1.0 2009-01-01 initial version
 * @since 2009-01-01
 */
@SuppressWarnings( { "UnusedDeclaration" } )
final class TestHTMLRendering
    {
    // ------------------------------ CONSTANTS ------------------------------

    /**
     * height of frame in pixels
     */
    private static final int height = 1000;

    /**
     * width of frame in pixels
     */
    private static final int width = 1000;

    private static final String RELEASE_DATE = "2007-10-04";

    /**
     * title for frame
     */
    private static final String TITLE_STRING = "HTML Rendering";

    /**
     * URL of page we want to display
     */
    private static final String URL = "http://mindprod.com/index.html";

    /**
     * program version
     */
    private static final String VERSION_STRING = "1.0";

    // --------------------------- main() method ---------------------------

    /**
     * Debugging harness for a JFrame
     *
     * @param args command line arguments are ignored.
     */
    @SuppressWarnings( { "UnusedParameters" } )
    public static void main( String args[] )
        {
        // Invoke the run method on the Swing event dispatch thread
        // Sun now recommends you call ALL your GUI methods on the Swing
        // event thread, even the initial setup.
        // Could also use invokeAndWait and catch exceptions
        SwingUtilities.invokeLater( new Runnable()
        {
        /**
         * } fire up a JFrame on the Swing thread
         */
        public void run()
            {
            out.println( "Starting" );
            final JFrame jframe =
                    new JFrame( TITLE_STRING + " " + VERSION_STRING );
            Container contentPane = jframe.getContentPane();
            jframe.setSize( width, height );
            contentPane.setBackground( Color.YELLOW );
            contentPane.setForeground( Color.BLUE );
            jframe.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
            try
                {
                out.println( "acquiring URL" );
                JEditorPane jep = new JEditorPane( URL );
                out.println( "URL acquired" );
                JScrollPane jsp =
                        new JScrollPane( jep,
                                JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
                                JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED );
                contentPane.add( jsp );
                }
            catch ( IOException e )
                {
                err.println( "can't find URL" );
                contentPane.add( new JLabel( "can't find URL" ) );
                }
            jframe.validate();
            jframe.setVisible( true );
            // Shows page, with HTML comments erroneously displayed.
            // The links are not clickable.
            }
        } );
        }// end main
    }// end TestHTMLRendering


Но страницы выглядят плохо, да и по ссылкам кликать нельзя  , тупо криво отформатированный HTML 

Кто что подскажет?

Автор: Muerto 18.2.2011, 04:30
Вот оч хороший пример http://www.java2s.com/Code/Java/Swing-JFC/JEditorPaneandtheSwingHTMLPackage9.htm

НО опять же , страницы не как в браузере, даже на ссылку не кликнуть, не перейти между страницами

А вот ещё лучше

http://jmvidal.cse.sc.edu/csce790/PS1/Browser.java.html

http://www.codemiles.com/finished-projects/java-web-browser-mini-project-t1175.html

Но сайты отображаются криво =-( полу css без javascript

Автор: jk1 18.2.2011, 04:56
Обратите внимание вот на эти два проекта:

http://djproject.sourceforge.net/ns/index.html и http://www.webrenderer.com/index.php

На первом нам в свое время удалось построить вполне сносное решение.

Автор: Muerto 18.2.2011, 05:09
Первый таки впечатлил, большое спасибо  smile 

Второй я смотрю пишут основан на фаер фоксе 3, знач ваще зверь, ток платный кажись что минус.

Автор: XoJIoD 18.2.2011, 08:26
в SWT неплохо реализована работа с Browser. И можно подключить FireFox.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)