2012-02-26 17 views
2

Cobraを使用して、私はドームツリーの特定のノードまたはhtmlpaneの特定のピクセルにスクロールするvoid関数を持っています。 JFrame.setContentPane()関数を使用してhtmlpaneをコンテナとして設定し、scroll()関数を使用して指定点をスクロールすると、動作しません。ここで JFrameの特定の部分にスクロール

はコードです:

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関数を。

答えて

2

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

frame.setContentPane(htmlPanel); 
frame.setVisible(true); 
SwingUtilities.invokeLater(new Runnable() { 
    @Override 
    public void run() { 
     htmlPanel.scroll(500, 300); 
    } 
}); 
+0

どこに置くべきですか? before frame.setsize();それとも? – lonesome

+0

あなたのコードを貼り付けて、プログラムを再実行しますが、何も変わりません。 – lonesome

+0

frame.setVisible(true)の後に試してください。 –

関連する問題