Swing常用组件

来源:互联网 发布:linux设置后不为中文 编辑:程序博客网 时间:2024/05/21 22:22

文本框(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
原创粉丝点击