2

我正在尝试在我的框架中添加一个谷歌地图,我在这里读到最好的方法是打开一个 URL,所以,我做了:

    JTextPane myMap = new JTextPane();
    JScrollPane scroll = new JScrollPane();
    scroll.getViewport().add(myMap);


    scroll.setBounds(40,240,1200,644);
    background.add(scroll);

    try{
        URL url = getClass().getResource("/html/maps.html");

        myMap.setPage(url);
    } catch (Exception e) {
        e.printStackTrace();
    }

但是我什么也看不到,如果我使用 helloWorld.html 而不是 maps.htm 我会看到内容。

为什么会这样?

先感谢您

4

2 回答 2

4

尝试这样的事情,所说的 URL 不是你的Application Resource,所以你必须像这样访问它,我猜

try
{
    java.net.URL url = new java.net.URL("http://gagandeepbali.uk.to/");
    tpane.setPage(url);
} 
catch (Exception e) 
{
    e.printStackTrace();
}

这是一个小程序为您提供帮助:

import java.awt.*;
import javax.swing.*;

public class JTextPaneExample
{
    private void createAndDisplayGUI()
    {
        JFrame frame = new JFrame("JTextPane Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JTextPane tpane = new JTextPane();
        tpane.setContentType("text/html");
        JScrollPane scroller = new JScrollPane();
        scroller.setViewportView(tpane);

        try
        {
            java.net.URL url = new java.net.URL("http://gagandeepbali.uk.to/");
            tpane.setPage(url);
        } 
        catch (Exception e) 
        {
            e.printStackTrace();
        }

        frame.getContentPane().add(scroller);
        frame.setSize(500, 500);
        frame.setVisible(true);
    }

    public static void main(String... args)
    {
        SwingUtilities.invokeLater(new Runnable()
        {
            public void run()
            {
                new JTextPaneExample().createAndDisplayGUI();
            }           
        });
    }
}
于 2012-05-08T10:02:48.910 回答
4

最好阅读教程如何使用滚动窗格,然后有两种方法

JTextPane myMap = new JTextPane();
JScrollPane scroll = new JScrollPane(myMap);

或者

JTextPane myMap = new JTextPane();
JScrollPane scroll = new JScrollPane();
scroll.setViewportView(myMap);

不要,让我们为正确的LayoutManagersetBounds做这份工作

于 2012-05-08T09:13:03.897 回答