JAVA新建一個小型的窗體及組件(二)


package Frame;

import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;

import javax.swing.*;
import javax.swing.WindowConstants;

public class EndInt extends JFrame {
    public EndInt() {
        super();
        this.setTitle("注冊");
        //創建容器
        Container cont = getContentPane();
        //設置為自由布局
        this.setLayout(null);
        //各組件的創建
        JLabel jl1 = new JLabel("請輸入昵稱:");                    //標簽框
        JTextField jtf1 = new JTextField();                        //文本框
        JLabel jl2 = new JLabel("請輸入登錄密碼:");
        JPasswordField jpf1 = new JPasswordField();                //密碼框
        jpf1.setEchoChar('*');                                    //設置密碼字符為*
        JLabel jl3 = new JLabel("再次輸入登錄密碼:");
        JPasswordField jpf2 = new JPasswordField();
        jpf2.setEchoChar('*');    
        JLabel jl4 = new JLabel("請選擇性別:");                    //單選框
        JRadioButton jrb1 = new JRadioButton("男");
        JRadioButton jrb2 = new JRadioButton("女");
        ButtonGroup bg = new ButtonGroup();                        //一定將單選框加入進去,不然男女能同時選擇
        bg.add(jrb1);
        bg.add(jrb2);
        jrb1.setSelected(true);                                    //設置默認為男
        JLabel jl5 = new JLabel("請選擇城市:");                    //下拉框
        JComboBox jcb = new JComboBox();
        jcb.addItem("北京");
        jcb.addItem("天津");
        jcb.addItem("武漢");
        jcb.setSelectedIndex(0);
        JLabel jl6 = new JLabel("個性簽名:");
        JTextArea  jta2 = new JTextArea();
        jta2.setLineWrap(true);                                    //設置文本框為自動換行
        JScrollPane jsp = new JScrollPane(jta2);                //設置文本框有滾動條
        JButton jb1 = new JButton("申請賬號");                    //按鈕
        JButton jb2 = new JButton("重置信息");
        //申請賬號
        jb1.addActionListener(new ActionListener() {
            
            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                //判斷兩次密碼是否一致,一致時彈出成功,不一致時提示不一致並情況兩次填寫的密碼框
                String str1 = new String(jpf1.getPassword());    //先將密碼轉換為String類型,然后再比較
                String str2 = new String(jpf2.getPassword());
                if(str1.equals(str2)){
                    JOptionPane.showMessageDialog(null, "申請成功!您的賬號是:"+12323+";密碼是:"+jpf1.getText());
                }
                else
                {
                    JOptionPane.showMessageDialog(null,"兩次輸入的密碼不一致,請重新輸入!");
                    jpf1.setText("");
                    jpf2.setText("");
                }
                //JOptionPane.showMessageDialog(null, "申請成功!您的賬號是:"+12323+";密碼是:"+jpf1.getText());
            }
        });
        //重置信息
        jb2.addActionListener(new ActionListener() {
            
            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                //清空
                jtf1.setText("");
                jpf1.setText("");
                jpf2.setText("");
                jrb1.setSelected(true);
                jcb.setSelectedIndex(0);
                jta2.setText("");
            }
        });
        //將空間加入到Container容器里面
        cont.add(jl1);
        cont.add(jtf1);
        cont.add(jl2);
        cont.add(jpf1);
        cont.add(jl3);
        cont.add(jpf2);
        cont.add(jl4);
        cont.add(jrb1);
        cont.add(jrb2);
        cont.add(jl5);
        cont.add(jcb);
        cont.add(jl6);
        cont.add(jsp);
        cont.add(jb1);
        cont.add(jb2);
        //控制各組件的位置及大小
        jl1.setBounds(30, 20, 120, 20);
        jtf1.setBounds(150, 20, 200, 20);
        jl2.setBounds(30, 50, 120, 20);
        jpf1.setBounds(150, 50, 200, 20);
        jl3.setBounds(30, 80, 120, 20);
        jpf2.setBounds(150, 80, 200, 20);
        jl4.setBounds(30, 110, 120, 20);
        jrb1.setBounds(190, 110, 50, 20);
        jrb2.setBounds(260, 110, 50, 20);
        jl5.setBounds(30, 140, 120, 20);
        jcb.setBounds(150, 140, 200, 20);
        jl6.setBounds(30, 170, 120, 20);
        jsp.setBounds(150, 170, 200, 80);
        jb1.setBounds(80, 280, 100, 20);
        jb2.setBounds(200, 280, 100, 20);
        //設置窗體大小、位置、關閉方式、不允許拉伸及顯示
        this.setBounds(500, 260, 400, 350);
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        this.setResizable(false);
        this.setVisible(true);
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //調用構造方法
        new EndInt();
    }

}

分享給剛學java的同學。

效果圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM