不知道问题出在哪
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Test6 extends JFrame implements ActionListener
{
JLabel a1 = new JLabel("姓名");
JLabel a2 = new JLabel("密码");
JTextField t1 = new JTextField("");
JPasswordField t2 = new JPasswordField();
JButton bt = new JButton("登陆");
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
public Test6(String s)
{
super(s);
Container con = getContentPane();
setLayout(new FlowLayout());
con.add(p1);
con.add(p2);
p1.setLayout(new GridLayout(2,2));
p1(a1);
p1(t1);
p1(a2);
p1(t2);
p2.setLayout(new FlowLayout());
p2(bt);
bt.addActionListener(this);
}
public void actionPerformed(ActionEvent ae)
{
if(t1.equals("JAVA") && t2.equals("123"))
{
JOptionPane.showMessageDialog(null,"成功","提示消息",JOptionPane.CLOSED_OPTION);
}
else
{
JOptionPane.showMessageDialog(null,"错误","提示消息",JOptionPane.CLOSED_OPTION);
t1.setText("");
t2.setText("");
t1.requestDefaultFocus();
}
}
public static void main(String[] args)
{
Test6 x = new Test6();
x.setSize(200,200);
x.setLocation(300,300);
x.setTitle("good");
x.setVisible(true);
}
}
[此贴子已经被作者于2006-10-22 0:30:16编辑过]
----------------解决方案--------------------------------------------------------
p1.setLayout(new GridLayout(2,2));
p1(a1);
p1(t1);
p1(a2);
p1(t2);
p2.setLayout(new FlowLayout());
p2(bt);
bt.addActionListener(this);
要用add()方法吧
----------------解决方案--------------------------------------------------------
楼上的说的不错!但是我认为还有错误!就是在if语句中,这句t1.equals("JAVA") && t2.equals("123")我认为要改成ti.getText().equals("JAVA")&&t2.getText().equals("123");不知道这是不对的 还请大家看看!
----------------解决方案--------------------------------------------------------
依然不行
----------------解决方案--------------------------------------------------------
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Test6 extends JFrame implements ActionListener
{
JLabel a1 = new JLabel("姓名");
JLabel a2 = new JLabel("密码");
JTextField t1 = new JTextField("");
JPasswordField t2 = new JPasswordField();
JButton bt = new JButton("登陆");
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
public Test6(String s)
{
super(s);
Container con = getContentPane();
setLayout(new FlowLayout());
con.add(p1);
con.add(p2);
p1.setLayout(new GridLayout(2,2));
p1.add(a1);//你这里错得太离谱了
p1.add(t1);
p1.add(a2);
p1.add(t2);
p2.setLayout(new FlowLayout());
p2.add(bt);
bt.addActionListener(this);
}
public void actionPerformed(ActionEvent ae)
{
if(t1.getText().equals("JAVA") && new String(t2.getPassword()).equals("123"))//这是得到密码的推荐方法
{
JOptionPane.showMessageDialog(null,"成功","提示消息",JOptionPane.CLOSED_OPTION);
}
else
{
JOptionPane.showMessageDialog(null,"错误","提示消息",JOptionPane.CLOSED_OPTION);
t1.setText("");
t2.setText("");
t1.requestDefaultFocus();
}
}
public static void main(String[] args)
{
Test6 x = new Test6("hello");//你只有有参数的构造函数,所以,必须要传入参数
x.setSize(200,200);
x.setLocation(300,300);
x.setTitle("good");
x.setVisible(true);
x.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//没有这句,你点了关闭也退出不了JVM
}
}
你自己看看,你看己错了哪些地方
----------------解决方案--------------------------------------------------------
非常感谢
----------------解决方案--------------------------------------------------------
他在if里用get.Source()是获取一个对像,但他又是用的名字,如果非要判断是不是输的JAVA和123的话,就应该在里面用
get.ActionCommant()来找到文本框里的值,如果是用get.Source()判断的放就应该是写成:
if(ae.getSource().equals(bt))
{
if((t1.getText()=="Java")&(t2.getText()=="123"))
{
JOptionPane.showMessageDialog(null,"成功","提示消息",JOptionPane.CLOSED_OPTION);
}
else
{
JOptionPane.showMessageDialog(null,"错误","提示消息",JOptionPane.CLOSED_OPTION);
}
}
----------------解决方案--------------------------------------------------------