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
二维码