我想我已经把自己编码到了一个角落里。我正在尝试使用 java swing 对此效果做一些事情。

单击下一步按钮,从文件中加载一个新行(通过行索引号),然后如果文件中该行的日期尚未到达,则将下一步按钮变灰。我的问题是,当我有以下代码时:

    Scanner input = new Scanner(System.in);
    System.out.println("Enter week number");
    int j = input.nextInt();
    String[] strArray = new String[4];
    xmlLoader(j, strArray);

    JButton nextButton = new JButton("Next");
    nextButton.setBounds(750, 250, 80, 30);
    nextButton.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent ae){
           j++;
           doNext(j, nextButton);
       }
    });

我无法通过 j 因为它不是最终的,如果它是最终的,我无法更改按钮上的任何内容,helpppp!

特定错误:从内部类内部访问局部变量j;需要宣布为最终

最佳答案

您可以将 j 定义为外部类中的字段。

class Sample{
   private int j;

   void method() {
     ...
     nextButton.setBounds(750, 250, 80, 30);
     nextButton.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent ae){
           j++;
           doNext(j, nextButton);
       }
      });
    }
}

关于Java swi ng-click 时执行操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9014704/

10-09 00:29