界面建議用可視化來做,美觀且便捷。下面這個是完全用代碼寫的,僅供參考。
在廣元等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供做網(wǎng)站、成都網(wǎng)站設計 網(wǎng)站設計制作按需求定制開發(fā),公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,品牌網(wǎng)站設計,營銷型網(wǎng)站建設,成都外貿(mào)網(wǎng)站制作,廣元網(wǎng)站建設費用合理。
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.sql.*;
public class Register extends JFrame {
JLabel jl1 = new JLabel("用戶名");
JTextField jt1 = new JTextField();
JLabel jl2 = new JLabel("郵箱");
JTextField jt2 = new JTextField();
JLabel jl3 = new JLabel("密碼");
JPasswordField jpw1 = new JPasswordField();
JLabel jl4 = new JLabel("密碼確認");
JPasswordField jpw2 = new JPasswordField();
JButton register = new JButton("注冊");
JButton clean = new JButton("清空");
public Register(){
setLayout(new GridLayout(5,2));
add(jl1);
add(jt1);
add(jl2);
add(jt2);
add(jl3);
add(jpw1);
add(jl4);
add(jpw2);
add(register);
add(clean);
String name = jt1.getText();
String email = jt2.getText();
String pw = jpw1.getText();
register.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/db","root","");
Statement sta = con.createStatement();
sta.executeUpdate("INSERT INTO register VALUES(name,email,pw)");
JOptionPane.showMessageDialog(null,"注冊成功","提示",JOptionPane.INFORMATION_MESSAGE);
}
catch(Exception ex){
ex.getStackTrace();
}
}
});
clean.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
jt1.setText("");
jt2.setText("");
jpw1.setText("");
jpw2.setText("");
}
});
}
public static void main(String[] args){
Register frame = new Register();
frame.setTitle("用戶注冊");
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,400);
frame.setVisible(true);
}
}
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class TestLogin implements ActionListener {
JTextField jtf1 = new JTextField(15);
JPasswordField jtf2 = new JPasswordField(15);
JTextField jtf3 = new JTextField(15);
JLabel jl0 = new JLabel("歡迎注冊!");
String result = "";
@Override
public void actionPerformed(ActionEvent e) {
String comn = e.getActionCommand();
if ("提交".equals(comn)) {
FileInputStream fis;
try {
fis = new FileInputStream("D:\\Program File\\image\\input.txt");
byte[] b = new byte[1024];
while (true) {
int num = fis.read(b);
if (num == -1)
break;
result = result + new String(b, 0, num);
}
fis.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
String[] s = result.split(";", 0);
String name = jtf1.getText();
String password = jtf2.getText();
String email = jtf3.getText();
String temp = name + "," + password + "," + email + ";";
boolean flag = true;
for (int i = 0; i s.length; i++) {
String[] name0 = s[i].split(",", 0);
if (name.equals(name0[0])) {
jl0.setText("你輸入的用戶名重復啦!請重新輸入");
flag = false;
jtf1.setText("");
jtf2.setText("");
jtf3.setText("");
jtf1.requestFocus();
break;
}
}
if (flag) {
try {
FileOutputStream fos = new FileOutputStream(
"D:\\Program File\\image\\input.txt", true);
fos.write(temp.getBytes());
fos.close();
jl0.setText("恭喜你!注冊成功!");
jtf1.setText("");
jtf2.setText("");
jtf3.setText("");
jtf1.requestFocus();
} catch (Exception ae) {
ae.printStackTrace();
}
}
} else if ("清空".equals(comn)) {
jtf1.setText("");
jtf2.setText("");
jtf3.setText("");
jtf1.requestFocus();
}
}
public TestLogin() {
JFrame jf = new JFrame("登錄界面");
GridLayout gl = new GridLayout(5, 1);
jf.setLayout(gl);
JPanel[] jp = new JPanel[5];
for (int i = 0; i jp.length; i++) {
jp[i] = new JPanel();
jf.add(jp[i]);
}
jp[0].add(jl0);
JLabel jl1 = new JLabel("用戶名:");
jp[1].add(jl1);
jp[1].add(jtf1);
JLabel jl2 = new JLabel(" 密碼: ");
jp[2].add(jl2);
jp[2].add(jtf2);
JLabel jl3 = new JLabel(" Email:");
jp[3].add(jl3);
jp[3].add(jtf3);
JButton jb1 = new JButton("提交");
jp[4].add(jb1);
jb1.addActionListener(this);
JButton jb2 = new JButton("清空");
jp[4].add(jb2);
jb2.addActionListener(this);
jf.setLocation(300, 200);
jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new TestLogin();
}
}
這個應該就是你想要的答案!
效果圖
參考代碼和注釋
import?java.awt.*;
import?java.awt.event.*;
import?java.io.*;
import?javax.swing.*;
//該窗口繼承自JFrame,?實現(xiàn)了ActionListener接口
public?class?SingUpFrame?extends?JFrame?implements?ActionListener?{
//定義需要的組件
JTextField?jtfName,?jtfEmail;?
JPasswordField?jpf;
JRadioButton?jrb1,?jrb2;
JComboBoxString?jcb;
JButton?jbReset,?jbSingUp;
//常量
static?final?String?NEW_LINE?=?System.getProperty("line.separator");//?獲取系統(tǒng)的換行符
static?final?String?FILE_PATH?=?"d:/users.txt";//指定文件的路徑
//構(gòu)造器
public?SingUpFrame()?{
JPanel?jp1?=?new?JPanel();
JLabel?jl1?=?new?JLabel("賬號");
jtfName?=?new?JTextField(15);
jp1.add(jl1);
jp1.add(jtfName);
JPanel?jp2?=?new?JPanel();
JLabel?jl2?=?new?JLabel("密碼");
jpf?=?new?JPasswordField(15);
jp2.add(jl2);
jp2.add(jpf);
JPanel?jp3?=?new?JPanel();
JLabel?jl3?=?new?JLabel("郵箱");
jtfEmail?=?new?JTextField(15);
jp3.add(jl3);
jp3.add(jtfEmail);
JPanel?jp4?=?new?JPanel();
JLabel?jl4?=?new?JLabel("性別");
ButtonGroup?bg?=?new?ButtonGroup();
jrb1?=?new?JRadioButton("男");
jrb1.setSelected(true);//?默認選中男性
jrb2?=?new?JRadioButton("女");
bg.add(jrb1);
bg.add(jrb2);
jp4.add(jl4);
jp4.add(jrb1);
jp4.add(jrb2);
JLabel?jl5?=?new?JLabel("年齡");
String[]?ary?=?new?String[12];
for?(int?i?=?18;?i??30;?i++)?{//?18~30可供選中的范圍
ary[i?-?18]?=?i?+?"";
}
jcb?=?new?JComboBoxString(ary);
jp4.add(jl5);
jp4.add(jcb);
JPanel?jpc?=?new?JPanel(new?GridLayout(4,?1));//?4行1列布局
jpc.add(jp1);
jpc.add(jp2);
jpc.add(jp3);
jpc.add(jp4);
add(jpc);
JPanel?jps?=?new?JPanel();
jbReset?=?new?JButton("重填");
jbReset.addActionListener(this);//給按鈕添加響應
jbSingUp?=?new?JButton("確定");
jbSingUp.addActionListener(this);//給按鈕添加響應
jps.add(jbReset);
jps.add(jbSingUp);
add(jps,?BorderLayout.SOUTH);
setTitle("注冊窗口");//?窗口標題
setSize(300,?285);//?窗口大小
setLocationRelativeTo(null);//?窗口居中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//?當窗口關閉時,程序結(jié)束
}
@Override
public?void?actionPerformed(ActionEvent?e)?{
JButton?jb?=?(JButton)?e.getSource();
if?(jb?==?jbReset)?{
jtfName.setText("");
jpf.setText("");
jtfEmail.setText("");
jrb1.setSelected(true);
jcb.setSelectedIndex(0);//?選中第1個選項(18)
}?else?if?(jb?==?jbSingUp)?{
String?name?=?jtfName.getText().trim();
String?pswd?=?new?String(jpf.getPassword());
String?email?=?jtfEmail.getText().trim();
String?xb?=?jrb1.isSelected()???"男"?:?"女";
String?age?=?(String)?jcb.getSelectedItem();
if(name.equals("")||pswd.equals("")||email.equals(""))?{//對輸入的信息進行一個簡單的判斷
JOptionPane.showMessageDialog(null,?"請完整填寫所有的信息",?"提示",JOptionPane.WARNING_MESSAGE);??
return;
}
StringBuffer?sb?=?new?StringBuffer();
sb.append("賬號:"?+?name?+?NEW_LINE?+?"密碼:"?+?pswd?+?NEW_LINE?+?"郵箱:"?+?email?+?NEW_LINE?+?"性別:"?+?xb
+?NEW_LINE?+?"年齡:"?+?age+NEW_LINE);
boolean?flag?=?saveInfo(sb.toString());
if(flag)?{
JOptionPane.showMessageDialog(null,?"注冊成功?,保存成功");
}else?{
JOptionPane.showMessageDialog(null,?"Sorry!保存失敗.注冊出現(xiàn)了問題...",?"IO錯誤",JOptionPane.ERROR_MESSAGE);
}
}
}
//方法:保存信息到文件
public?boolean?saveInfo(String?info)?{
FileWriter?fw;
try?{
fw?=?new?FileWriter(FILE_PATH,?true);//追加文字到文件尾部
fw.write(info);
fw.close();
}?catch?(IOException?e)?{
e.printStackTrace();
return?false;//IO異常,保存不成功
}
return?true;//保存成功
}
//main方法
public?static?void?main(String[]?args)?{
new?SingUpFrame().setVisible(true);?//創(chuàng)建窗口并可見
}
}