Java – what causes “symbol not found” and how to fix it?
I've been trying to solve this problem. I've run it in different programs, so it must be in the code It may also be simple Wrong @ h_ 404_ 2@
Password2. java:90: error: cannot find symbol if(pw.equals(password)) ^ symbol: variable password location: class Password2. EnterButtonHandler 1 error
This is the code:
// Password1.java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Password2 extends JFrame // inherits from the JFrame class { // static final variables to hold frame dimensions (in pixels) private static final int WIDTH = 400; private static final int HEIGHT = 120; //declare labels,fields,buttons,etc. private JLabel enterLabel,validLabel,resultLabel; private JTextField pwTextField; private JButton enterB,clearB; private EnterButtonHandler ebHandler; private ClearButtonHandler cbHandler; public Password2() // constructor defines frame { setTitle( "Password Checker" ); // set the title of the frame setSize( WIDTH,HEIGHT ); // set the frame size // prepare the container Container pane = getContentPane(); GridLayout aGrid = new GridLayout( 3,2,5,5 ); // create a 3 row 2 column layout pane.setLayout( aGrid ); // set the layout for the frame String password = "hello"; //instantiate JLabels enterLabel = new JLabel("Enter Password: "); validLabel = new JLabel("Validation: "); resultLabel = new JLabel(""); //instantiate text fields pwTextField = new JPasswordField( 30 ); //instantiate buttons enterB = new JButton("Enter"); clearB = new JButton("Clear"); //initialize button handler ebHandler = new EnterButtonHandler(); enterB.addActionListener(ebHandler); //initialize button handler cbHandler = new ClearButtonHandler(); clearB.addActionListener(cbHandler); pane.add(enterLabel); pane.add(pwTextField); pane.add(validLabel); pane.add(resultLabel); pane.add(enterB); pane.add(clearB); //calls center frame method centerFrame( WIDTH,HEIGHT ); }// end constructor //methood to center GUI on screen public void centerFrame( int frameWidth,int frameHeight) { //create toolkit object Toolkit aToolkit = Toolkit.getDefaultToolkit(); //create a dimension object with user screen information Dimension screen = aToolkit.getScreenSize(); //assign x,y position of upper left corner of frame int xUpperLeft = ( screen.width - frameWidth ) / 2; int yUpperLeft = ( screen.height - frameHeight ) / 2; //method to position frame on user's screen setBounds( xUpperLeft,yUpperLeft,frameWidth,frameHeight ); } private class EnterButtonHandler implements ActionListener { public void actionPerformed(ActionEvent e) { String pw = pwTextField.getText(); if(pw.equals(password)) { resultLabel.setText("Password Accepted"); pwTextField.setText(""); } else { resultLabel.setText("Password Rejected"); pwTextField.setText(""); } } } private class ClearButtonHandler implements ActionListener { public void actionPerformed(ActionEvent e) { resultLabel.setText(""); pwTextField.setText(""); } } public static void main(String [] args) { JFrame aPassword2 = new Password2(); // create the JFrame object aPassword2.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE); aPassword2.setVisible(true); } } // end of class
Solution
Read and love error messages
This requires some practice, but it's easy to see it more clearly after a period of time: just read the following bold text as a sentence:)
error: cannot find symbol […]
symbol: variable password
location: [in] class Password2. EnterButtonHandler
There is no named password in the scope / context (enterbuttonhandler)
The code of happiness
Tip: there is a local variable with the same name in different scopes / contexts... Maybe it should not be a local variable? For details, see the Java Tutorial: variables
These are the Java collected by programming house for you - the reasons for "missing symbols" and how to fix it? I hope this article can help you solve the cause of "unable to find symbols" in Java and how to fix it? Program development problems encountered.
If you think the content of the programming home website is good, you are welcome to recommend the programming home website to programmers and friends.