Java 无法引用内部类中的变量
我仍在学习java,所以请容忍我。我正在尝试编写一个程序,其中您单击一个名为“是”的按钮,它会将变量Y增加1,变量X上的按钮“否”也是如此。我正在使用eclipse和WindowBuilder Pro,它会给我一个错误“无法引用内部类中的变量” 这是我的密码:Java 无法引用内部类中的变量,java,swing,variables,jbutton,japplet,Java,Swing,Variables,Jbutton,Japplet,我仍在学习java,所以请容忍我。我正在尝试编写一个程序,其中您单击一个名为“是”的按钮,它会将变量Y增加1,变量X上的按钮“否”也是如此。我正在使用eclipse和WindowBuilder Pro,它会给我一个错误“无法引用内部类中的变量” 这是我的密码: import javax.swing.JApplet; import javax.swing.JButton; import java.awt.event.MouseAdapter; import java
import javax.swing.JApplet;
import javax.swing.JButton;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFormattedTextField;
public class qa extends JApplet {
/**
* Create the applet.
*/
public qa() {
getContentPane().setLayout(null);
int y=0;
int x=0;
String s1 = String.valueOf(y);
JButton btnYes = new JButton("YES");
btnYes.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
++y;
}
});
btnYes.setBounds(135, 220, 85, 42);
getContentPane().add(btnYes);
JButton btnNo = new JButton("NO");
btnNo.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
++x;
}
});
btnNo.setBounds(230, 220, 85, 42);
getContentPane().add(btnNo);
JFormattedTextField frmtdtxtfldVarible = new JFormattedTextField();
frmtdtxtfldVarible.setText(s1);
frmtdtxtfldVarible.setBounds(147, 130, 157, 20);
getContentPane().add(frmtdtxtfldVarible);
}
}
谢谢你的帮助 将
x
和y
声明为实例变量,这样就不需要将它们声明为最终局部变量:
public class qa extends JApplet
{
private int x = 0;
private int y = 0;
// ...
}
将
x
和y
声明为实例变量,这样就不需要将它们声明为最终局部变量:
public class qa extends JApplet
{
private int x = 0;
private int y = 0;
// ...
}
简而言之,你应该研究封装。简而言之,你应该研究封装。