Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

JScrollPaneにJTableを入れる。それにコンポーネントを配置したい

JScrollPane内にコンポーネントを配置したいです。
上記のJScrollPane(JTable)に付箋を貼るイメージです。

JScrollPane(JTable)を維持しつつ、できないでしょうか。

8

回答

92245

閲覧

8件の回答

評価

0

Tooltipでよいなら一番簡単ですが、イメージされているもの
とは違う気がします。

LayeredPaneを使うことになるのかな?

評価

0

そちらも調べてみます。

 TableやコンポーネントをLayeredPaneの階層にいれ、
それをJScrollPaneにいれてみたりしたのですがうまく
いきませんでした。
(書き方が悪かった可能性もありますが。)

次はJScroll Pane (jtable),コンポーネントをlayered に入
れたりして試してみます。
回答ありがとうございます(*^^*)

評価

0

Tool tipって、マウスカーソルをしばらく置いていたら
表示されるアレですね。
残念ながら、ちょっと作りたいものとは違いました。

Tool tipは今まで使ったことがないので、またの機会で
生かしますね!

評価

0

JScrollPane
    JPanel#setLayout(null)#setPreferredSize(width, 
height)
         JTable#setBounds(0, 0, width, height)
         comp[0]#setBounds(x1, y1, w1, h1)
         comp[1]#setBounds(x2, y2, w2, h2)
         〜

こういうこと?

評価

0

JTableはJScrollPaneに入れないと項目が表示されないと思うので、構造はこんな感じにこうなるのではないかと思っています。

[exteds JFrame]
JScrollPane   (適当なサイズ)
 JLayeredPane  (JTableのwidth,JTableのheight)
  (51層目)Lable等
  (50層目)JScrollPane() (JTableのwidth,JTableのheight)
   JTable

※50層目に配置するJScrollPaneは、JTableの項目名表示用

こうすれば、項目名ありのJTableの上にcomponentを配置したJLayeredPane(JTableサイズ)が出来て、
JScrollPaneに配置すれば、思うようなものになると思います。

現状は、JLayeredPaneにJScrollPane(JTable)を入れても表示されない段階です…。

評価

0

http://docs.oracle.com/javase/tutorial/uiswing/compo
nents/table.html#show

ここでは、

container.add(table.getTableHeader(), 
BorderLayout.PAGE_START);

こんなことしてるな。試してないけどこれで直下になくて
もヘッダーが出せるんかな?

評価

0

[質問者]
試してみたら、Containerに出ました!
setLayoutをBorderLayoutにしていれば、JPanelや、JLayerPane等にも出来ると思います。

これを使って色々試してみます。
回答ありがとうございます!

評価

0

[質問者]
進捗をお伝えします。
JLayeredPaneにJScrollPane(JTable),componentを配置することができました。
※container.add(table.getTableHeader(), 
BorderLayout.PAGE_START);は色々不都合が発生したため、今回は使えなさそうです。(例えば、JTableが設定した固定幅じゃなくなったり)

JTableのテーブルサイズを取得する方法がわからないので、とりあえず計算してJTableとJScrollPaneのサイズを合わせています。

あとは、JScrollPaneにのせるだけなのですが、すんなりいかず、JPaneを介してみたりしているところです。

参考中のサイト様:http://asistobe851.web.fc2.com/my-memo/L-S.html

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。