2011-08-09 29 views
1

私はJavaとSWINGを使用していますが、スクロール機能が意図したとおりに機能していることを意味するかなり大きな画像を含むスクロールペインが追加されました。しかし、この画像上の別の場所で、私は現時点ではJButtonがを追加し、これらのJScrollpaneにボタンを追加する

上のマウスクリックに作用できるようにする必要があり、私は次のコードのビットを得た:(スニペットは、あなたが何かを必要とする場合、私に知らせて)

jButton1 = new JButton("CLICK"); 
jButton1.setBounds(0, 0, 100, 100); 

私は正常に動作します私のActionListenerを追加、その後、私はその後、IMGと私のスクロール区画を作成します。

BufferedImage wp = ImageIO.read(new File("Main_background.jpg")); 

JLabel image = new JLabel(new ImageIcon(wp)); 

scrollerContainer.setSize(screen_width-50,screen_height-50); 
scrollerContainer.setLayout(new BorderLayout()); 

私scrollerPaneにボタンを追加します。

scroller.add(jButton1); 

そして最後に、私のコンテナに私のスクロールを追加します。

scrollerContainer.add(scroller); 

何が起こるかというと、ボタンはかなり予想外の時間と場所に現れるということです。最初にそれは常に表示されません、それは再描画/塗装がJavaによって呼び出されると、次のボタンが私のスクロールペインで "スクロール"、私は右端に画像をする必要がある場合、ボタンはまだ0,0にしか表示されない場合でも表示されます。私は私のscrollerオブジェクトにjButtonを追加するはずではないと思っていますが、何か他にはありますか?しかし、私は何が分かりません。

は、問題が理にかなっていると、誰かが私を助けることを願って:)

+1

"もっと早く助かる"には[SSCCE](http://sscce.org/)を含めてください。 :D – mre

答えて

2

あなたは、スクロールペインに直接コンポーネントを追加することはありません。

ボタンは、スクロールペインのビューポートに表示するラベルに追加する必要があります。

今後、SSCCEに質問を投稿して、推測する必要はありません。

+1

クイックアンサーのためにありがとうございます - 今後、私は、より短く、より良い質問を投稿するようにしましょう。 – Rasmus

関連する問題