繁体   English   中英

如何在 netbeans gui builder 中设置 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 生成器生成的。)当我尝试在代码中设置 setter 和 getter 时,IDE 显示“非法的表达式开始”

当我尝试在此代码中设置 setter 和 getter 时,IDE 说 int "numberOfPlayers" 不存在。

我做错了什么,我能有什么不同?

我认为更好的方法是创建一个返回您想要的值的公共方法,如下所示:

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

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

}

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

public interface PlayerGui {
   int getPlayerNumber();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM