如何在JFrame的actionPerformed方法中访问构造函数内的变量
解决按钮事件方法访问构造函数变量的问题
你的代码里newData是构造函数的局部变量,作用域仅限构造函数内部,所以ButtonActionPerformed方法无法访问它。要解决这个问题,只需把newData改成类的成员变量:
修改后的代码示例
// 在类的成员位置声明变量(构造函数和方法之外) private int newData; public JFrame(int data) { initComponents(); // 给成员变量赋值,不要重新定义局部变量 newData = data + 5; } private void ButtonActionPerformed(java.awt.event.ActionEvent evt) { System.out.println(newData); // 现在可以正常访问 }
原理说明
- 类的成员变量作用域覆盖整个类,类中的所有非静态方法(包括按钮的事件处理方法)都能访问它
- 原代码里的局部变量仅在构造函数执行时存在,执行完毕后就会被销毁,其他方法无法获取到它
内容的提问来源于stack exchange,提问作者TheParable
相关产品推荐
相关产品推荐

