Java beginners if / else if there is a problem
•
Java
There seems to be a problem with the code block trying to set the string variable, because no matter what I do when I run the program, the dialog box always shows Otto Who knows what I did wrong here?
Thank you, hunting
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JOptionPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class SmallTingz extends JFrame {
private JLabel item1;
private JTextField tf;
private JTextField tf2;
private JTextField tf3;
private JPasswordField pf;
public SmallTingz() {
super("The Title");
setLayout(new FlowLayout());
JTextField tf = new JTextField("Cool Beans");
JTextField tf2 = new JTextField("UnCool Beans");
JTextField tf3 = new JTextField("Hot Beans");
JPasswordField pf = new JPasswordField("password");
add(tf);
add(tf2);
add(tf3);
add(pf);
thehandler handler = new thehandler();
tf.addActionListener(handler);
tf2.addActionListener(handler);
tf3.addActionListener(handler);
pf.addActionListener(handler);
}
private class thehandler implements ActionListener {
public void actionPerformed(ActionEvent event) {
String string;
if (event.getSource() == tf)
string=String.format("field1: %s",event.getActionCommand());
else if (event.getSource() == tf2)
string=String.format("field2: %s",event.getActionCommand());
else if (event.getSource() == tf3)
string=String.format("field3: %s",event.getActionCommand());
else if (event.getSource() == pf)
string=String.format("passfield: %s",event.getActionCommand());
else
string="otto";
JOptionPane.showMessageDialog(null,string);
}
}
}
Solution
In the smalltingz () constructor, delete all variable declarations Your declaration is a hiding member variable
change
JTextField tf = new JTextField("Cool Beans");
JTextField tf2 = new JTextField("UnCool Beans");
JTextField tf3 = new JTextField("Hot Beans");
JPasswordField pf = new JPasswordField("password");
to
tf = new JTextField("Cool Beans");
tf2 = new JTextField("UnCool Beans");
tf3 = new JTextField("Hot Beans");
pf = new JPasswordField("password");
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码
