Swing中常用组件

来源:互联网 发布:淘宝商城婴儿玩具店 编辑:程序博客网 时间:2024/05/01 12:55

1 文本框

JTextField类的构造方法及常用方法如下。
JTextField类构造方法  JTextField()创建内容空的文本框JTextField(Document doc ,String text,int columns)创建指定文本内容存储模型和列数的文本框JTextField(int columns)创建指定列数的文本框JTextField(String Text)创建指定文本内容的文本框JTextField(String Text,int columns)创建指定文本内容和列数的文本框
常用操作方法
public int getColumns() 
public String getText()
public Document getDocument()
public void setColumns(int columns)
public void setText(String t)
public void setDocument(Document doc)
JTextField可以在用户按下enter键后触发ActionEvent事件,其中注册和注销监听器的方法如下:
public void addActionListener(ActionListener l)
public void removeActionListener(ActionListener l)

2 密码框

JPasswordField类的构造方法及常用方法如下。
JPasswordFiled类构造方法JPasswordField()构造一个新的内容为null 默认列数为0 具有默认文档的对象JPasswordField(Document doc,String text,int columns)构造指定内容列数文档的对象JPasswordField(int columns)构造指定列数的对象JPasswordField(String text)构造指定内容的对象JPasswordField(String text,int columns)构造指定内容和列数的对象
JPasswordField继承自JTextField类,所有它拥有JTextField类的方法,还有以下自身的方法:

public boolean echoCharIsSet()  检测密码框是否具有回显设置的字符
public char  setechoChar()   设置回显字符
public char  getechoChar()  获得回显字符默认为*

public char[] getPassword() 以字符数组的方式返回密码框实际文本内容



package swingdmeo;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;public class LoginTest extends JFrame implements ActionListener {   private JPanel  jp = new JPanel();private JButton jb1 = new JButton("登录");private JButton jb2 = new JButton("重置");private JButton jb[] = {jb1,jb2};private JLabel name = new JLabel("请输入用户名");private JLabel password = new JLabel("请输入密码");private JLabel [] jl = {name,password};private JLabel show = new JLabel();private JTextField jName = new JTextField();private JPasswordField jPassword = new JPasswordField();public LoginTest(){jp.setLayout(null);//空布局//添加资源和监听器for (int i = 0;i<jb.length;i++){jl[i].setBounds(30,20+40*i,180,20);jb[i].setBounds(30+110*i,100,80,20);jp.add(jb[i]);//jp.add(jl[i]);jb[i].addActionListener(this);}jName.setBounds(130,15,100,20);jp.add(jName);jName.addActionListener(this);jPassword.setBounds(130,60,100,20);jPassword.setEchoChar('*');jp.add(jPassword);jPassword.addActionListener(this);show.setBounds(10,180,270,20);jp.add(show);this.add(jp);//窗体设置this.setTitle("登入窗口");this.setBounds(300,300,270,250);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public static void main(String[] args) {// TODO Auto-generated method stubnew LoginTest();}public void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubif(e.getSource() == jName){jPassword.requestFocus();}elseif(e.getSource() == jb[1]){show.setText("");jName.setText("");jPassword.setText("");jName.requestFocus();}else{//if(jName.getText().equals("zhangsan")&&jPassword.getPassword().equals("123456"))   //前面返回字符串  后面返回字符数组 要把字符数组转换为字符串   if(jName.getText().equals("zhangsan")&&String.valueOf(jPassword.getPassword()).equals("123456")){show.setText("登录成功!");}else{show.setText("用户名或密码错误");}}}}










0 0