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的同學。
效果圖:

