1

应该最后一章了,前面有大神提到很少有人用Java做UI,这里就算是给像我这样的初学者去了解窗体是怎么一回事的文章吧

文本框(JTextField)

构造方法摘要 
JTextField() 
          构造一个新的 TextField。 
JTextField(Document doc, String text, int columns) 
          构造一个新的 JTextField,它使用给定文本存储模型和给定的列数。 
JTextField(int columns) 
          构造一个具有指定列数的新的空 TextField。 
JTextField(String text) 
          构造一个用指定文本初始化的新 TextField。 
JTextField(String text, int columns) 
          构造一个用指定文本和列初始化的新 TextField。 

文本域(JTextArea)

构造方法摘要 
JTextArea() 
          构造新的 TextArea。 
JTextArea(Document doc) 
          构造新的 JTextArea,使其具有给定的文档模型,所有其他参数均默认为 (null, 0, 0)。 
JTextArea(Document doc, String text, int rows, int columns) 
          构造具有指定行数和列数以及给定模型的新的 JTextArea。 
JTextArea(int rows, int columns) 
          构造具有指定行数和列数的新的空 TextArea。 
JTextArea(String text) 
          构造显示指定文本的新的 TextArea。 
JTextArea(String text, int rows, int columns) 
          构造具有指定文本、行数和列数的新的 TextArea。 

密码框(JPasswordField)

构造方法摘要
JPasswordField() 
          构造一个新 JPasswordField,使其具有默认文档、为 null 的开始文本字符串和为 0 的列宽度。 
JPasswordField(Document doc, String txt, int columns) 
          构造一个使用给定文本存储模型和给定列数的新 JPasswordField。 
JPasswordField(int columns) 
          构造一个具有指定列数的新的空 JPasswordField。 
JPasswordField(String text) 
          构造一个利用指定文本初始化的新 JPasswordField。 
JPasswordField(String text, int columns) 
          构造一个利用指定文本和列初始化的新 JPasswordField。 

package jframe;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class jframe extends JDialog{
    
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    
    public jframe(){
        this.setTitle("test");
        Container con = this.getContentPane();
        con.setLayout(new FlowLayout());
        JLabel label = new JLabel("                                                                                                                                        登录界面                                                                                                                                        ");
        JLabel label1 = new JLabel("账号:");
        JLabel label2 = new JLabel("密码:");
        JTextField text = new JTextField(15);
        JTextArea area = new JTextArea(10,20);
        JButton button = new JButton("清除");
        JPasswordField password = new JPasswordField(15);
        
        con.add(BorderLayout.NORTH,label);
        con.add(BorderLayout.CENTER,label1);   con.add(text);
        con.add(label2);    con.add(password);
        con.add(button);
        con.add(new JButton("登录"));
        con.add(area);
        
        password.setEchoChar('●');
        text.addActionListener(new ActionListener(){

            @Override
            public void actionPerformed(ActionEvent arg0) {
                // TODO Auto-generated method stub
                text.setText("触发事件");
            }            
        });
        button.addActionListener(new ActionListener(){

            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                text.setText("");
                text.requestFocus();
                password.setText("");
                area.setText("");
            }
            
        });
        this.setVisible(true);
        this.setSize(250,350);
        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);            //设置关闭方式,可以选择多种关闭玄子选项
    }
    public static void main(String[] args) {
        new jframe();
    }
}

clipboard.png


Cheney
95 声望8 粉丝

初学者