如何在 netbeans gui 构建器中设置 getter 和 setter?

How to setup getter and setter inside the netbeans gui builder?

我正在使用 NetBeans IDE 和 GUI Builder 构建一个 Java Swing 小程序。我制作了一个带有文本字段和按钮的小 JFrame。用户可以输入一个数字,并可以通过按回车键或按下面的 j 按钮来确认该数字。

private void plySetterBtnActionPerformed(java.awt.event.ActionEvent evt) {                                             
    // TODO add your handling code here:
    
    if(evt.getSource() == plySetterBtn) {
        int numberOfPlayers = 0;
    
        try{
            numberOfPlayers = Integer.parseInt(this.playerNumberField.getText());
            dispose();
        } catch(Exception e) {
            JOptionPane.showMessageDialog(this, "Please insert only numeric digits (0-9) \n Note: Spaces will be counted as letters.", "Error#094:", JOptionPane.ERROR_MESSAGE);
        }
        
    }
}   

我想通过 getter 和 setter 在这个私有方法之外使用 int“numberOfPlayers”,但这就是我卡住的地方。 (正如我刚才所说,代码部分由 NetBeans GUI Builder 生成。)当我尝试在上面的代码中设置 setter 和 getter 时,IDE 说“表达式的非法开始“

当我尝试使用此代码设置 setter 和 getter 时,IDE 表示整数“numberOfPlayers”不存在。

我做错了什么,我能做些什么?

我认为更好的方法是制作一个 public 方法来 returns 您想要的值,像这样:

public class MyFrame extends JFrame implements PlayerGui {
   // ...etc.

   public int getPlayerNumber() {
      return Integer.parseInt(this.playerNumberField.getText());
   }

}

您可能需要按 GUI 编辑器上的“源代码”按钮,这样您就可以添加您想要的任意源代码。然后你在你的 class 外部调用这个方法。它还有助于创建一个接口,以便您可以更轻松地模拟和注入测试 classes 到您的代码的其余部分。

public interface PlayerGui {
   int getPlayerNumber();
}