• ベストアンサー
  • すぐに回答を!

JTableクリック時の処理

bomberhead@Java初心者です。 WindowsNTでBorland社のJBuilder4を使用して アプリケーションの開発をしています。 質問ですが、JTableクリック時の処理はどうすれば良いでしょうか? 手元の参考文献では別途ボタンを設けて、ボタンクリック時に JTableの内容を取得する方法が載っているのですが JTableクリック時にJTableの内容を取得したいと思っております。 何卒よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数2962
  • ありがとう数2

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

  • ベストアンサー
  • 回答No.1
  • ct27
  • ベストアンサー率62% (48/77)

はずした回答だったらすみません。<(_ _)> また「JTableの内容を取得する」という意味も取り違えていたらすみません。 とりあえずJTableはaddMouseListenerというメソッドが使えますからそれで マウスでのイベントを定義できるはずですし、JBuilder4を使用しているなら 設計画面のインスペクタにイベントというタブがありますからそこからmouseClicked のイベントを自動的にJBuilder4が書いてくれるはずです。 実際書くならこんな感じでしょうか?ちなみに全然試していないので自信は ありません。(^^ゞ     jTable1.addMouseListener(new java.awt.event.MouseAdapter() {       public void mouseClicked(MouseEvent e) {         //選択行の行番号を取得します         int ii = jTable1.getSelectedRow();         //選択行の1番目のカラムの内容を取得します。         String s1 = (String)jTable1.getValueAt( ii, 1 );       }     });

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。 イベントタブを見るとmouseClickedがありました。 見落としてたみたいです。よーくチェックしないと駄目ですね(^^; これならなんとかできそうです。どうもありがとうございました。

関連するQ&A

  • JTableに貼り付けたJButton名の取得がうまくできません

    JTableには、通常のセルの部分とボタンの部分があり、ボタンが選択された際にボタン名を取得したいのですが、セルの値を取得してしまいます。 ボタン名を取得するにはどうしたらよいのでしょうか。 DBからレコードを取得し、それを配列にいれています。 1~3個目は、そのままデータ用の配列に入れ、4~10のフィールドをコマンドボタンの名前としJTableに貼り付けています。 data[0][0] = 1 data[0][1] = 2 data[0][2] = 3 data[0][3] = New JButton(field1) data[0][4] = New JButton(field2) ・ ・ ・ 選択されたセルの値を取得すると「jswing....」となってしまいます。 どなたかご存知でしたら、教えて下さい。

  • Jtableの特定のセルの背景色や文字色について

    Jtable内部の特定のセルの背景色や文字色、フォントの変更に関して質問があります。25行30列のJtableの20行20列目のセルの背景色だけ赤色にしたい場合、具体的にどの様にプログラミングすれば良いでしょうか? サンプルソースなどを教えてくださるとありがたいです! javaに関して詳しい方、ぜひともお力を貸してください!

    • ベストアンサー
    • Java
  • JTableの表からデータ保存等について

    JTableを使って表計算出来るアプリを作りたいなと思ってますが 分からない事だらけで・・・ まずはリファレンスなるものに慣れるのが先決かも判りませんが。 やりたい事は ・セルを使って四則計算がしたい。 ・入力したデータを保存したい。 ネットで検索したりここの過去ログやを見るとどうやら XMLを使うのが手軽みたいですがセルに入力されたデータは どういう風に保存するのでしょうか? XML関連のページを見たりしてJavaでXML文書を操作 出来ると言うのは一応理解してますが、 その処理をどういう風にJTableを使って作れば良いのか 判らないんです。 稚拙な質問かもわかりませんがよろしくお願いします。

  • jtableのデータをcsv形式で保存や、csv形式をjtableに表示たいのですが、

    今、eclipseを使ってJavaの勉強をしているのですが、 『ファイルを開く』ダイヤログまでは表示することが出来たのですが、 csv形式のファイルを選択し、jtableに表示したり、 jtableに入力したデータをcsv形式で保存をしたいのですが、 どうすれば、出来るのでしょうか? ご指導の程、よろしくお願いいたします。

    • ベストアンサー
    • Java
  • JTableに、JConboBoxを入れる

    JTableのcolumn=0に、部署を入れます。 そしてcolumn=5に、JComboBoxを設定し、そのcolumn=5 のデータは、コンボボックスから選択してもらいます。 ただ、このコンボボックスの内容は、column=0に入れた 部署により変更したのです。 いろいろと参考にして、テーブルの指定のcolumnに コンボボックスを入れることは出来たのですが、 全部同じコンボボックスになってしまいます。 以下のようにしました。TableColumn の為、 みな同じになるのはわかるのですが、修正方法が わかりません。宜しくお願いいたします。 public void stepColumn(JTable table, TableColumn stepColumn) {  JComboBox comboBox = new JComboBox();  comboBox.setEditable(true);  comboBox.addItem("step_AAA");  comboBox.addItem("step_BBB");  stepColumn.setCellEditor(new DefaultCellEditor(comboBox)); }

  • SwingのJTableでのsort方法

    JTable上に以下のようなデータを表示してあります。     合計 国語 数学 英語 Aさん  250 100 80 70 Bさん 230 100 90 40 Cさん 200 70 80 50 今、合計の降順に並んでいますが、 これを、コマンドボタンクリックにより、 英語の降順に並びなおそうと考えています。 1度2次元配列にデータを代入し、arrays.sortで、 並び替え、再度、Jtableで表示するつもりです。が、 jTableに、もっと簡単に並び替えて表示させる 方法はないでしょうか? よろしくお願いいたします。

  • J Builder6を使ってiアプリを作りたいのですが・・・

    Java2SDK ではなく BorlandJBuilder6を使ってiアプリの開発を使用と考えている超初心者です。JBuilder6をインストールしたあと、NTTのホームページからJ2ME Wireless SDK for the Do Jaというiアプリ開発ツールをダウンロードしました。・・・この後Jbuilderの使い方がまったくわかりません。テキストエディタにhello worldと記述出来るプログラムを書く手順まで誰か教えていただけませんか?

  • JTableにおけるTABイベント取得について

    現在JTableを勉強しているのですが、 JTalbeでセルにフォーカスがある場合普通「TABキー」を押したときはフォーカスは右に移動すると思います。(右端にに到達したときは一段下がって左端といったように) そのイベント(タブ移動)使ってTABでフォーカスが移ったCellを編集できるようにEditモードにしたいと考えています。現在JTABEを以下のように実装しています -------ソース------- resultTable = new ETable(vecResult,clmName); ListSelectionModel cellSelectionModel = resultTable.getSelectionModel(); cellSelectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); cellSelectionModel.addListSelectionListener(this); * 内部テーブルクラス class ETable extends JTable{ public ETable( Vector rowList, Vector clmnList ){ super(rowList,clmnList); DefaultTableColumnModel colModel = (DefaultTableColumnModel)getColumnModel(); //0番目のカラムを取得する for (int i=0;i<clmnList.size();i++){ TableColumn col0 = colModel.getColumn( i ); //0番目のカラムにMyCellEditorをセットする col0.setCellEditor( new MyCellEditor( new JTextField() ) ); } } } public void valueChanged(ListSelectionEvent e) {   //Cellの値が変わったときのイベント(APIによると…)   *実際はセルをクリックするたびに走ってしまう(不思議)  }   このソースに追加して実現することはできるでしょうか? よきアドバイスをよろしくお願いします。

  • 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
  • JavaでJTableの行の追加方法について

    今、Javaの勉強をEclopse3.2で勉強している者ですが、 JTableにてEnterを押したら次の行が追加されるという、 プログラムを作りたいのですが、どうしたら良いでしょうか? 自分はaddRow()を使ってみたのですが、うまく動きませんでした。 何が動かない原因なのかわかりません。 わかる人よろしくお願いします。 他のやり方も教えてください。 private JTable getJTable2() { int po =1; if (jTable == null) { model = new DefaultTableModel(po,2); jTable = new JTable(model); jTable.addKeyListener(new java.awt.event.KeyAdapter() { private int po; public void keyPressed(java.awt.event.KeyEvent e) { System.out.println("keyPressed()"); // TODO Auto-generated Event stub keyPressed() public addRow() String[] data = { "A5", "B5" }; jTable.addRow(data); System.out.println("po="+this.po); po += 1; System.out.println("po="+po); jTable.setValueAt("aikai",po,1); return; } });

    • ベストアンサー
    • Java