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.
