如果选择Table
行,我有一个按钮点击事件,我将获得一个列值。但是,如果我没有选择行并单击按钮,我会收到错误:java.lang.ArrayIndexOutOfBoundsException:-1
我的问题是如何检查是否已选择一行伪代码:if(Row == selected) { execute }
我有的java代码:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
try
{
int row = Table.getSelectedRow();
String Table_click = (Table.getModel().getValueAt(row, 0).toString());
//... implementation hire
} catch (Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
}
感谢您的帮助。
答案 0 :(得分:12)
在你想要发帖之前,停下来并在逻辑上思考你的问题。如果需要,请暂停编码 - 一旦休息一下,问题的解决方案通常会在短时间内出现。
int row = Table.getSelectedRow();
if(row == -1)
{
// No row selected
// Show error message
}
else
{
String Table_click = (Table.getModel().getValueAt(row, 0).toString());
// do whatever you need to do with the data from the row
}
答案 1 :(得分:1)
如果未选择任何行,getSelectedRow()
将返回-1
。
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
try {
int row = Table.getSelectedRow();
if (row > -1) {
String Table_click = (Table.getModel().getValueAt(row, 0).toString());
//... implementation here
}
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
答案 2 :(得分:0)
如果行> -1然后你知道已经选择了一行。 见:http://docs.oracle.com/javase/7/docs/api/javax/swing/JTable.html#getSelectedRow()