Java swing-在点击时执行一个 Action

标签 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;需要声明为final

最佳答案

您可以将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 swing-在点击时执行一个 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9014704/

相关文章:

java - 防止 Eclipse 在调试时移动到代码行

java - 在 Android 中使用 BroadcastReceiver 注册耳机按钮单击

Java - Swing - 绘画(在 JPanel 上添加其他形状)

java - 如何以适用于 Gnome 和 KDE 的方式在 Java Swing 中启动网站

java - public static void main(String[] args) 应该放在哪里?

java - 使用日期类型更新 JTable 单元格

java - 对集合进行排序后,for 循环期间的计数器值分配不明确

java - 在java中的swing组合框中从数据库绑定(bind)

java - 是否有一个 "Spring 3 MVC way"来监听结束 session 事件?

java - 如何序列化 ByteBuffer