getTableCellRendererComponentについて

このQ&Aのポイント
  • JTableのレンダラを使った処理で、最後の表示コンポーネントを取得する方法について質問しています。
  • テーブルセルの表示コンポーネントが最後であるかを判定する方法に悩んでいます。
  • JTableの特定のセルのレンダラが呼び出されたタイミングを知りたいです。
回答を見る
  • ベストアンサー

getTableCellRendererComponentについて

こんにちは。 JTableのレンダラを使った処理を作っているのですが どうしても分からないことがあったので、質問させていただきます。 テーブルセルの表示コンポーネントを取得する際に、 この表示コンポーネントが最後ということを知る手段を探しております。 以下に例を示します。 =========================================== 1.以下のような1~9までの数字を格納したJTableがあるとします。 1 2 3 4 5 6 7 8 9 2.このJTableをスクロールペインに格納します。 すると7,8,9が完全に隠れて、残りの数字が表示されるようになりました。 1 2 3 4 5 6 =========================================== このJTableを表示する際に1~6までのgetTableCellRendererComponentが呼び出されますが、 6が呼び出されたタイミングで特別な処理を実行したいのです。 なお、テーブルセルの高さは不定です。セル毎に任意の高さに調整することが可能なので、 必ずしも同じ行数が表示されるとは限りません。 処理の内容やソースを公開できればいいのですが、 当方の事情によりできませんので、 分かり辛い説明で恐縮ですが、 何かアドバイスがあれば教えてください。 別の方法を考えてみたらどうかという意見でも構いません。 以上です、宜しくお願いします。

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.1

真面目に調べたわけではないので「アドバイス」というこにしておきます。 ・セルのJTable内の座標を取得 ・JScrollPaneのビューポートを取得し、表示範囲を取得 この2つは取得できるはずですから、あとは何とかなるんじゃないですか? それと代案が欲しいのなら、処理の目的を書かないとわかりませんね。

digtoyoda
質問者

お礼

返事が遅れてしまい、申し訳ございません。 表題の件、無事に解決いたしました。 ありがとうございました。

digtoyoda
質問者

補足

>セルのJTable内の座標を取得 >JScrollPaneのビューポートを取得し、表示範囲を取得 アドバイスありがとうございます。 座標から表示範囲を取得する方法があったのですね。 早速試してみます。 >代案 たしかにそうですね。 処理目的が公開できないのに代案を要求するのはオカシイですよね。 失礼致しました。

関連するQ&A

  • 抽出した行数を変数に入れたい(オラクルSQL)

    SELECTで抽出した行数を変数に格納したいのですが、上手くいきません。 SQLにあまり経験がなく、ネットで調べながら実践しております。 例えば以下の簡単なSQLを作ったとして、 ---------------------------------------------------- SELECT a,b,c,d,e,f FROM table WHERE c=10 AND e=20; ---------------------------------------------------- ここで抽出した行数を取得し、それを変数に入れたいと思っております。 というのも、後々、抽出したデータの行数を表示したい場合に SELECT COUNT(*) FROM table WHERE c=10 AND e=20; というSQLをその都度入力していては非効率だと思ったからです。 そこで抽出する際に行数を取得し、それを変数に格納して、 行数を表示する処理が今後必要になった際に、その変数を表示すれば良いと考えました。 ですがネットで変数のことを調べた際に VARやDEFINE等のコマンドを見つけましたが、SQLを実行しても上手くいきません。 最初に記載したSQLに、どのような構文を入れたら良いのでしょうか。

  • [Access2003]コンボボックスのプロパティの「リスト行数:8」について

    昨日、リスト行数について分からなくて質問しました。アドレスは、http://okwave.jp/qa4858817.htmlです。リスト行数が8以下だとそのまま表示されるということは、理解できました。 質問1:http://okwave.jp/qa4858817.htmlで質問したことなんですが、参考書(下記のコンボボックスは、著作権の関係もあり、商品名の名前は変えてあります)を見たら・・・・ コンボボックス: A みかん B メロン C パイナップル D なし 回答してくださった方のアドバイスを見ると、【リスト行数が8以下だとそのまま表示される】のであれば、上記の場合、「リスト行数:4」ではないかなと思いました。参考書の「リスト行数:8」が間違っていて、「リスト行数:4」が正解かなと思いましたが、この場合、4が正しいのでしょうか? 質問2:回答してくださった方のアドバイスを見ると、「リスト行数:8」と表示される場合、8行のみが表示され、超える部分はスクロールすると教えてくださいました。(パソコン教室では、Access2003の勉強をしていますが、家庭の事情により、Access2003のソフトは、持っていないのでよく分からないです。) たぶんですが、リスト行数が8行以上の場合は、コンボボックスの横にスクロールバーが表示されてスクロールバーを使用して、リストを移動させながら関係ある商品名などを選択して入力するというイメージがあるのですが…..。 「リスト行数:8」と表示される場合、8行のみが表示され、超える部分はスクロールするということについて具体的に教えてもらえないでしょうか?

  • エクスプローラ・ナビゲーションペイン・フォルダツリーの自動横スクロールを止めるには?

    Vistaで新しく実装された機能の中に、エクスプローラを使っている際に左側に表示されるナビゲーションペインというものがありますよね? このナビゲーションペインには横スクロールバーが付いておらず、フォルダツリーで何階層も降りている時はターゲットしているフォルダに合わせて自動的に表示が横スクロールします。 お気に入りインクはともかく、フォルダツリーを表示している時は何階層もまたがってファイル操作する事もあるのに、横スクロールバーが無いのは相当不便です。 それだけでも使いにくいのに、さらに勝手に表示が動くので上位フォルダの名前が読めなくなったり、ドラッグアンドドロップしにくくなったりする事が頻繁に起こります。 本っ当にVistaって使いにくいOSで日々その事を実感していますが、エクスプローラのヘヴィユーザだった私にとってはその中でもこれで一番イライラしています。 ドラッグアンドドロップ中にホイールでツリーを縦スクロール出来る機能も消えたし。 ちょっと愚痴ってしまいましたが、とにかくナビゲーションペインのフォルダ表示で、自動的に横スクロールするのを止めさせて、横スクロールバーを復活させる方法は無いものでしょうか? 是非よろしくお願い致します!

  • ページ間で画像を表示。mysqlに画像を格納すべき

    ページ間でjpeg(画像)を表示させたい場合、 mysqlでは何のデータが格納されるのでしょうか。 行数は1万ほどで、1枚50KBのjpegを1行あたり0枚~30枚使います。 1)jpegそのものを格納 負荷が大きいので、この方法は避けたいです。 2)jpegのパスを格納 負荷は少なく、PHPのscandir関数(http://shoyu-ramen23.jugem.jp/?eid=90) で枚数によって処理を分けて表示することができる。 3)枚数を格納 php側で枚数によって処理を分けて表示することができますが、 jpegの枚数が減ったときに、格納した枚数を変更しないといけない。 2が一番よさそうと考えているのですが、 phpでmysqlを扱う場合、こういった考え方をするのは間違いでしょうか。 ページから画像をアップロードすることはありません。この場合もmysqlに画像を格納すべきですか。

    • ベストアンサー
    • PHP
  • イベントディスパッチングスレッドの振る舞いについて

    はじめまして。 質問があります。 例えばイベントキューに、イベントディスパッチングスレッドによって コンポーネントに文字列などをsetTextする処理を実装したrunメソッド をもつRunnableインターフェースを実装したのクラスのインスタンスを invokeLaterメソッドで複数個格納させ、イベントディスパッチングス レッドにイベントキューの1つ1つのイベントを処理させたとき、 各イベントの処理ごとにコンポーネントに文字列 が表示されると思っていたのですが、実際に動かしてみると、最後に格 納したイベントの表示だけが行われ、途中のイベントの表示が行われま せんでした。なぜなのでしょうか?ご教授お願いします。

    • ベストアンサー
    • Java
  • XML→スクロールバーの表示

    XML→スクロールバーの表示 こんにちわ。また質問させていただきます。 http://drache.jp/smp.jpg 現在、画像のように、外部のxmlからphoto(画像)、txt1、txt2、txt3をを読み込み表示し、それを一塊として連続表示しようとしています。 そして、その固まりに対し、スクロールバーを使いたいと思っています。 そこで解らないのが、そもそも中身(photo(画像)、txt1、txt2、txt3)に対しての可変するMCというものは作成できるのでしょうか。 図のように、txtの部分は、文章量によって可変し、その連続であるため、MCとしては大きさを決められない。と思うのですが、どうでしょうか? (図でいうとall_mcの部分) そもそも図のようなやり方は方向性として間違えているのでしょうか。 現在スクロールバーの部分はUIコンポーネントのスクロールペインを使っています。 素人で勉強しながらやっているもので、的外れな質問かもしれませんが よろしくお願いします。 AS3/CS3

  • bash Linux CentOS

    bash Linux CentOS 標準入力から入力された文字列を配列に格納する。 「quit」が入力された場合は、これまで配列に格納した内容を全て表示して、処理を終了する。 1。 以下の処理を繰り返す 2.入力 3.入力は「QUIT」ならば6へ飛ぶ 4.入力データを配列に格納する 5。1へ戻る 6.配列に格納されたデータを表示する といったものを作りたいのですがうまく格納できなくて… 皆さんのお力を貸してください><;

  • エクセル縦データをズレが無く横並びに

    エクセルバージョンは、2002です。 A列に毎日処理するデータが1000行程あります。 構成としまして、基準となるデータから10行が1つのデータの構成で、途中から1行減って9行の構成に変化します。 途中から9行の構成部分から、10個目の部分に基準となる先頭部分が格納されて、構成データがズレてしまいます。 ズレるイメージ下記の通りです。 縦に並んでいるデータ(データは、文字列や数字です。) 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 このデータを各列のセル毎に格納 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 1 → ズレて10の部分に1が格納 2 3 4 5 6 7 8 9 1 2 → ズレて9と10の部分に1と2が格納 上記に組んである数式は、下記の通りです。 =INDEX($A$2:$A$1001,ROW(B2)*10+COLUMN(B2)-11) この式をB列からK列迄コピーして、必要な行数迄コピーしています。 このズレが無い様に表示させたい表示は 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 このズレが出来ない方法をご教授頂ければ幸いです。 宜しくお願い致します。

  • 電子天秤のメモリ

     デジタル表示の電子天秤は測定限界以下の数字をどう処理しているのでしょうか?  例えば、15.559 gのものを測る際に、天秤のメモリが小数点以下第2位までだった場合、15.55と表示されるのでしょうか、それとも15.56と表示されるのでしょうか?  メーカーによって違ったりするのかもしれませんが、一般的にどちらの方法が使われているのかをご存知の方、教えてください。

  • FlashMXのスクロールバーに関して

    こんにちわ、 win2000でFlashMXを使用し作業をしています。 外部ファイルを読み込み、テキスト表示をする際、UIコンポーネントのスクロールバーを使用しました。 しかし、テキストボックスの大きさまでは表示されるのですが、全ての文書を見ることが出来ません。 文章をスクロールさせたいのですが、どうすれば出来るのでしょうか? ちなみにアクションスクリプトは System.useCodepage = true; this.loadVariables("test.txt");{ _root.newtxt.condenseWhite = true; } で外部ファイル"test.txt"を読み込んでます。 そのほかはスクリプトを組んでません。 UIコンポーネントのスクロールのプロパティでは、 ●Target TextField → newtext(テキストボックスのインスタンス名) ●Horizontal → false になってます。 レイヤーは ・テキストボックス ・スクロールバー 一つ一つ分かれています。 もしわかるかたがいらっしゃれば教えていただければと思います。 また説明として不十分であればおっしゃってください。 よろしくお願いします。

    • ベストアンサー
    • Flash

専門家に質問してみよう