2014-08-30 55 views
-5

我想在另一个包中的一个类中编写清除按钮方法。 而我想在清除按钮中将该方法称为按钮单击事件。在java中调用方法netbeans

EG-

套餐A类< ----我想在这里写方法。

包B类b < ----在这里我有这个清除按钮,我想在这里调用该方法。

我在文本字段中遇到了一些错误!!!

public boolean Clear(){ 
    boolean clearDate =false; 
    Connection dbConn = null; 

    StaffId_Text.setText(""); 
    First_Name_Text.setText(""); 
    Middle_Name_Text.setText(""); 
    Last_Name_Text.setText(""); 
    Civil_Status_Text.setText(""); 
    NIC_Text.setText(""); 
    Email_Text.setText(""); 
    Address_Text.setText(""); 
    Contact_Number_Text.setText(""); 

    return clearDate; 
} 
+0

我不认为它与Netbeans有什么关系。 – maxx777 2014-08-30 18:14:24

+0

如何拨打???? – Dirosh 2014-08-30 18:16:10

+0

您不能访问未在方法,类中声明的变量或作为方法参数传递的变量。所以你可以考虑传递一个'JTextField'列表(我猜你使用这个类型),并为每个条目调用'setText(“”)'。像'public boolean Clear(List textFields)'和方法内部:(伪代码)'为每个JTextField作为textFields中的条目{entry.setText(“”); }'。 – Tom 2014-08-30 18:16:55

回答

0

为了在方法中使用变量,该变量必须在那里“已知”。这可以通过声明一个像private String text这样的变量,或者通过将变量作为参数传递给方法来完成,如b.Clear(textField)。这样方法Clear知道变量textField,并可以使用它。

这是一个例子,如何可以做到这一点:

public boolean clear(JTextField... textfields) { // method names should begin 
    boolean clearDate = false;     // with a lower case letter 
    Connection dbConn = null; 

    for (JTextField textField : textfields) { 
     textField.setText(""); 
    } 

    return clearDate; 
} 

在这里,我声明一个称为clear方法,其将采取的JTextField类型的变量的量。在该方法中,我遍历每个传递的JTextField,并调用其上的方法setText("")

现在你可以打电话给你的方法是这样的:

public void clearEvent() { 
    b.clear(staffIdText, firstNameText, middleNameText, [and so on...]); 
} 

只要你喜欢你可以通过尽可能多的JTextFields将这种方法。

你也可以使用像我在评论中提到的列表,但我想这个变体在这里更方便。

+0

那是什么? 我可以在哪里申报? – Dirosh 2014-08-31 05:08:15

+0

'b'是你的第二个包中的第二个类的名称。你可以像你想要的那样命名它。但我想你已经在你的第一堂课有一个“b”类的实例。所以就用它:)。 – Tom 2014-08-31 07:42:04