我目前正在构建一个模拟的医院管理系统。我已经能够成功地将用户注册输入(例如名称,性别等)从jTextFields写入文本文件,但是我正在努力使自动递增的唯一标识符随文本文件的每一行而变化。我有一个专用于它的jTextField,但是每次单击添加记录按钮都无法使int变量增加1。

我已经声明“ reg”为等于1的整数

int reg = 1;


因为我需要将数字发送到文本文件,所以在将其写入文本文件之前将其转换为字符串并将不可编辑的文本字段regnumber设置为该字符串

 String regString = Integer.toString(reg);
        regnumber.setText(regString);


不幸的是,当reg被写入文件时,它继续显示为2。每次加载帧时,我如何以及在什么时候使用++运算符来增加texfield中的reg号。任何帮助将非常感激

screenshot of GUI in question

最佳答案

仅从文件读取一次值,并将其初始化为AtomicInteger。使用incrementAndGet()方法将当前值加1。



    private static AtomicInteger at = new AtomicInteger(0);

    public int getNextCountValue() {
        return at.incrementAndGet();
    }





希望对您有所帮助。

09-10 17:03
查看更多