Java swing-对点击执行操作

时间:2012-01-26 06:37:40

标签: java swing

我想我已经把自己编成了一个角落。我正在尝试使用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;需要被宣布为最终

3 个答案:

答案 0 :(得分:7)

您可以将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);
       }
      });
    }
}

答案 1 :(得分:3)

创建j类字段而不是声明局部变量。

答案 2 :(得分:2)

将j变量声明为:final Integer j = new Integer(0)。 您将能够更改Integer类包装的值。