以下のプログラムを動かして試したら、getSelectedRow()が選択された行番号を返却しました。
lang
1import java.awt.BorderLayout;
2import java.awt.Dimension;
3
4import javax.swing.JButton;
5import javax.swing.JFrame;
6import javax.swing.JPanel;
7import javax.swing.JScrollPane;
8import javax.swing.JTable;
9
10public class Test extends JFrame {
11
12 private String[][] tabledata = { { "日本", "3勝", "0敗", "1分" }, { "クロアチア", "3勝", "1敗", "0分" },
13 { "ブラジル", "1勝", "2敗", "1分" }, { "オーストラリア", "2勝", "2敗", "0分" } };
14
15 private String[] columnNames = { "COUNTRY", "WIN", "LOST", "EVEN" };
16
17 public static void main(String[] args) {
18 Test test = new Test("SwingTest");
19
20 test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
21 test.setVisible(true);
22 }
23
24 Test(String title) {
25 setTitle(title);
26 setBounds(10, 10, 300, 200);
27
28 JTable table = new JTable(tabledata, columnNames);
29
30 JScrollPane sp = new JScrollPane(table);
31 sp.setPreferredSize(new Dimension(250, 70));
32
33 JPanel p = new JPanel();
34 p.add(sp);
35
36 getContentPane().add(p, BorderLayout.CENTER);
37
38 // ボタン
39 JButton button = new JButton("test");
40 getContentPane().add(button, BorderLayout.SOUTH);
41
42 button.addActionListener(event -> {
43 System.out.println(table.getSelectedRow());
44 });
45
46 }
47}
getSelectedRow()が常に-1を返却するということは
JTableの設定の問題だと思いますが、なにか設定していませんか?
クリックされている行
これは行の背景色が変わった状態になっていますか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/23 01:27
2016/09/23 01:54
2016/09/23 02:08
2016/09/23 02:23
2016/09/23 02:44
2016/09/23 02:45
2016/09/23 02:45
2016/09/23 03:08
2016/09/23 03:54
2016/09/23 04:00
2016/09/27 08:28