Swing常用组件

文本框(JTestField)和密码框(JPassword)

JTextField是一个轻量级的组件,可以编辑单行文本,实现剪切,复制,粘贴,快捷键等工作,如果文本的长度超出显示范围,会自动滚动文本,JTextField类的构造方法

JTextFrame()    :创建一个内容为空的文本框

JTextFrame(Document doc,String text,int columns)  :创建具有指定文本内容,文本储存模型和列数的文本框

JTextFrame(int columns)   :指定列数的文本框

JTextFrame(String text)  :指定文本内容的文本框

JTextFrame(String text,int columns)   :指定文本内容和列数的文本框

public void setText(String s):设置文本框中的文本为s。

public String getText():获取文本框中的文本。

public void setEchoChar(char c):设置文本框中的回显字符,只显示字符c。

public void setEditable(boolean b):设置文本框是否可编辑,默认为可编辑的。

public void addActionListener(ActionListener):向文本框增加动作监视器。

public void removeActionListener(ActionLisener):删除文本框上的动作监视器。

public void requesFocus()   :获得焦点

实例代码:

package ch10;

import java.awt.event.*;

import javax.swing.*;

public class LoginTest extends JFrame implements ActionListener
{
    private JPanel jp = new JPanel();
    JLabel name = new JLabel("请输入用户名");
    JLabel password = new JLabel("请输入密码");
    JLabel show = new JLabel("");
    private JLabel[] jl = new JLabel[]{name,password,show};
    JButton login = new JButton("登录");
    JButton reset = new JButton("重置");
    private JButton[] jb = new JButton[]{login,reset};
    private JTextField  jname= new JTextField();
    private JPasswordField jpass = new JPasswordField();
    public LoginTest()
    {
    	jp.setLayout(null);
    	for(int i=0;i<2;i++)
    	{
    		jl[i].setBounds(30,20+40*i,180,20);
    		jb[i].setBounds(30+110*i,100,80,20);
    		jb[i].addActionListener(this);
    		jp.add(jl[i]);
    		jp.add(jb[i]);
    	}
    	jname.setBounds(130,15,100,20);
    	jp.add(jname);
    	jname.addActionListener(this);
    	jpass.setBounds(130,60,100,20);
    	jp.add(jpass);
    	jpass.addActionListener(this);
    	jpass.setEchoChar('*');
    	jl[2].setBounds(10,180,270,20);
    	jp.add(jl[2]);
    	this.add(jp);
    	this.setBounds(200,200,300,300);
    	this.setVisible(true);
    	this.setTitle("登录窗口");
    	this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public void actionPerformed(ActionEvent a)
    {
    	if(a.getSource()==jname)
    	{
    		jpass.requestFocus();
    	}
    	else if(a.getSource()==jb[1])
    	{
    		jl[2].setText("");
    		jname.setText("");
    		jpass.setText("");
    		jname.requestFocus();
    	}
    	else 
    	{
    		if(jname.getText().equals("lixiang")&&String.valueOf(jpass.getPassword()).equals("201407239"))
    		{
    			jl[2].setText("登录成功,欢迎您的到来!");
    		}
    		else
    		{
    			jl[2].setText("对不起,您的密码或用户名错误!");
    		}
    	}
    }
    public static void main(String args[])
    {
    	new LoginTest();
    }
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值