Java按钮事件调用另一个类中的方法

Java按钮事件调用另一个类中的方法,java,swing,static-methods,Java,Swing,Static Methods,“无法从静态上下文引用非静态方法coSearchReturn(字符串[])”时出现错误 我读过一些关于这个错误的文章,似乎无法将它们应用到我的情况中。并不是说我的处境特别,只是我有限的经验!我拥有的是一个jTable,其中用户选择表中的一行,当用户单击OK按钮时,我将表值传递给不同类中的另一个表单。我在目标表单中创建了一个方法来处理数据,并试图从button事件调用该方法。从我所读到的,我需要实例化它来调用它,但我不知道在哪里/如何 这是按钮事件代码。我从表中获取所选行,使用行中的第一个值引用回

“无法从静态上下文引用非静态方法coSearchReturn(字符串[])”时出现错误

我读过一些关于这个错误的文章,似乎无法将它们应用到我的情况中。并不是说我的处境特别,只是我有限的经验!我拥有的是一个jTable,其中用户选择表中的一行,当用户单击OK按钮时,我将表值传递给不同类中的另一个表单。我在目标表单中创建了一个方法来处理数据,并试图从button事件调用该方法。从我所读到的,我需要实例化它来调用它,但我不知道在哪里/如何

这是按钮事件代码。我从表中获取所选行,使用行中的第一个值引用回构建表所依据的ArrayList。arraylist包含表中显示的更多数据,我需要所有这些数据。我想将正确的值从arraylist发送到目标方法/类中的表单

   private void btnOKActionPerformed(java.awt.event.ActionEvent evt) {                                      
    // TODO add your handling code here:
    int rowNum = jTable1.getSelectedRow();
    String coNum = jTable1.getValueAt(rowNum,0).toString();
    String[] text;

    int x = coSearchResults.size();
    for (int temp = 0; temp < x; temp++){
        text = coSearchResults.get(temp).split("\\|");
            //inner loop is for each column, in the row
            for (String y : text ){
            if (y.equals(coNum))  {
                CheckIn_Search.coSearchReturn(text);
            }
            }
    }         

    dispose();
}    
我想我需要做的是实例化coSeachReturn,但我无法了解它的位置/方式


提前感谢您的帮助。

您需要将
CheckIn\u Search
的实例传递给包含
btnOKActionPerformed
方法的类实例,例如在构造函数期间。然后可以将引用存储在字段中。如果
checkInSearch
是该字段的名称,则可以调用
checkInSearch.coSearchReturn(text)


如果还不存在
CheckIn\u Search
的实例,则调用
new CheckIn\u Search().coSearchReturn(text)
(考虑无参数构造函数)。但我认为它已经存在,因为
jPanel1
jPanel3
字段。

在您的条件内创建对象或作为类字段,因此您可以使用您的方法:

if (y.equals(coNum))  {
     CheckIn_Search checkIn_Search = new CheckIn_Search();
     checkIn_Search.coSearchReturn(text);
}

真正地基本上,
CheckIn\u Search
是实际的类,但该方法不是
static
,需要类的实例才能调用它。不要试图通过类调用该方法,而是将该类的实例传递给调用方并使用它。您不能调用不存在的东西。由于您尚未创建对象,因此非静态方法还不存在。静态方法(根据定义)总是存在的。你的评论和我读到的一致,我只是在应用它时遇到了问题。你能告诉我在哪里创建对象并调用它吗?应该很简单,但我就是不明白。太好了!我发誓我试过了,但显然没有。谢谢你的例子。
if (y.equals(coNum))  {
     CheckIn_Search checkIn_Search = new CheckIn_Search();
     checkIn_Search.coSearchReturn(text);
}