2

を使用しCobraて、DOMツリーの特定のノードまたはの特定のピクセルにスクロールするvoid関数がありますhtmlpane。関数を使用してをコンテナとしてJFrame.setContentPane()設定し、関数を使用して特定のポイントをスクロールすると、機能しません。htmlpanescroll()

コードは次のとおりです。

HtmlRendererContext rendererContext = (HtmlRendererContext) new  LocalHtmlRendererContext(htmlPanel, uAgent);
DocumentBuilderImpl builder = new DocumentBuilderImpl(uAgent, rendererContext);
Document document = builder.parse(url);
JFrame frame = new JFrame();
htmlPanel.scroll(500, 300);
//frame.getContentPane().add(htmlPanel);
frame.setContentPane(htmlPanel);

次のコードが表示された場合:

frame.setContentPane(htmlPanel.scroll(500, 300));

それは言う:

ここではvoid関数は許可されていません。

4

1 に答える 1

2

私はあなたが使用している Cobra API に精通していませんが、ほとんどの場合、スクロールする前に GUI コンポーネントを配置する必要があります。これは、コンポーネントをコンテナに追加する前に、コンテナのサイズがわからないためです。スクロールを遅らせてみて、それが役立つかどうかを確認してください。

frame.setContentPane(htmlPanel);
frame.setVisible(true);
SwingUtilities.invokeLater(new Runnable() {
    @Override
    public void run() {
        htmlPanel.scroll(500, 300);
    }
});
于 2012-02-26T08:58:17.480 に答える