這次寫的註冊頁面並把以前的代碼改了改
以前的更改後:
package homework;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
public class 界面 extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1L;
public 界面()
{
setTitle("登錄");
setBak(); //調用背景方法
JPanel jp = new JPanel(); //創建個JPanel
jp.setOpaque(false); //把JPanel設置爲透明 這樣就不會遮住後面的背景 這樣你就能在JPanel隨意加組件了
this.add(jp);
Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize();
int x = (int)screensize.getWidth();
int y = (int)screensize.getHeight();
//獲取屏幕的長寬並將界面設置成該大小
this.setSize(x,y);
jp.setLayout(new BorderLayout());
JLabel jj=new JLabel("歡迎進入用戶管理系統!");
jj.setFont(new Font("宋體",Font.PLAIN,45));//設置字體的字體,樣子,大小
jp.add(jj,BorderLayout.NORTH); //在整體佈局的上方
jj.setHorizontalAlignment(SwingConstants.CENTER);//居中
jj.setPreferredSize(new Dimension(0,500)); //寬度300
JLabel j1_useranme=new JLabel("請輸入用戶名");
j1_useranme.setFont(new Font("宋體",Font.PLAIN,20));
JTextField ja_username=new JTextField(20);
JLabel j2_useranme=new JLabel("請輸入密碼 ");
j2_useranme.setFont(new Font("宋體",Font.PLAIN,20));
JPasswordField jb_password=new JPasswordField(20);//密碼採用密碼輸入:即輸入後顯示**
JPanel p=new JPanel();
jp.add(p,BorderLayout.CENTER);
p.setLayout(new BorderLayout());//在邊框佈局中的center部分嵌入邊框佈局
JPanel p1=new JPanel();
JPanel p3=new JPanel();
JLabel b=new JLabel(" ");
p1.add(j1_useranme);
p1.add(ja_username);
p3.add(j2_useranme);
p3.add(jb_password);
p.add(b,BorderLayout.NORTH);
p.add(p1,BorderLayout.CENTER);
p.add(p3,BorderLayout.SOUTH);
b.setPreferredSize(new Dimension(0,40));
JButton j3_ok=new JButton("登錄");
j3_ok.addActionListener(new ActionListener() //監聽登錄按鈕
{
public void actionPerformed(ActionEvent e)
{
String jusername=ja_username.getText();
char s[]=jb_password.getPassword();
String jpassword=new String(s);
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//加載對應的jdbc驅動
String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=SCHOOL";
//配置連接字符串
String user="sa";//sa超級管理員
String password="手動打碼";//密碼
Connection conn=DriverManager.getConnection(url,user,password);
//創建數據庫連接對象
Statement st=conn.createStatement();
//創建SQL語句執行對象
String strSQL="(Select * from dbo.PY where ID='"+jusername+"' )";
ResultSet rs=st.executeQuery(strSQL);
if(rs.next())
{
if(rs.getString("PAWD")==jpassword)//如果密碼正確,進入下一個界面
{
new PY();
closeThis();
}
else
{
JOptionPane.showMessageDialog(null,"對不起,輸入密碼錯誤.","錯誤!",JOptionPane.ERROR_MESSAGE);
}
}
else
{
JOptionPane.showMessageDialog(null,"用戶名不存在","錯誤!",JOptionPane.ERROR_MESSAGE);
}
conn.close();
//關閉數據庫連接
}
catch (ClassNotFoundException ex) {
System.out.println("沒有找到對應的數據庫驅動類");
}
catch (SQLException ex) {
System.out.println("數據庫連接或者是數據庫操作失敗");
}
}
}
);
JButton j4_register=new JButton("註冊");
j4_register.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
closeThis();
new ZC();
}
});
JPanel p2=new JPanel();
p2.add(j3_ok);
p2.add(j4_register);
p2.setPreferredSize(new Dimension(0,100));
jp.add(p2,BorderLayout.SOUTH);//在整體的下方,兩個按鈕並排
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void setBak()//背景方法
{
((JPanel)this.getContentPane()).setOpaque(false);
ImageIcon img = new ImageIcon("C:\\\\Users\\\\小甘同學\\\\Pictures\\\\2.jpg"); //添加圖片的位置
JLabel background = new JLabel(img);
this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
}
public void closeThis()//關閉當前界面
{
this.dispose();
}
public static void main(String[] args)
{
new 界面().setVisible(true);
}
}
註冊界面:
package homework;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
public class ZC extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1L;
public ZC()
{
super("註冊");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(500,500);
this.setLocation(400,150);
setVisible(true);
JLabel jj=new JLabel("樸實無華的註冊界面");
jj.setFont(new Font("宋體",Font.PLAIN,35));//設置字體的字體,樣子,大小
this.add(jj,BorderLayout.NORTH); //在整體佈局的上方
jj.setHorizontalAlignment(SwingConstants.CENTER);//居中
//jj.setPreferredSize(new Dimension(0,500)); //寬度300
JLabel j1_useranme=new JLabel("用戶名:");
j1_useranme.setFont(new Font("宋體",Font.PLAIN,20));
JTextField ja_username=new JTextField(20);
JLabel j2_useranme=new JLabel("密碼: ");
j2_useranme.setFont(new Font("宋體",Font.PLAIN,20));
JTextField jb_username=new JTextField(20);
JPanel p=new JPanel();
this.add(p,BorderLayout.CENTER);
p.setLayout(new BorderLayout());//在邊框佈局中的center部分嵌入邊框佈局
JPanel p1=new JPanel();
JPanel p3=new JPanel();
JLabel b=new JLabel(" ");
p1.add(j1_useranme);
p1.add(ja_username);
p3.add(j2_useranme);
p3.add(jb_username);
p.add(b,BorderLayout.NORTH);
p.add(p1,BorderLayout.CENTER);
p.add(p3,BorderLayout.SOUTH);
p3.setPreferredSize(new Dimension(0,200));
b.setPreferredSize(new Dimension(0,90));
JPanel p2=new JPanel();
JButton register=new JButton("註冊");
p2.add(register);
this.add(p2,BorderLayout.SOUTH);//在整體的下方
p2.setPreferredSize(new Dimension(0,70));
register.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String jusername=ja_username.getText();
String jusername1=jb_username.getText();
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//加載對應的jdbc驅動
String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=SCHOOL";
//配置連接字符串
String user="sa";//sa超級管理員
String password="打碼";//密碼
Connection conn=DriverManager.getConnection(url,user,password);
//創建數據庫連接對象
Statement st=conn.createStatement();
//創建SQL語句執行對象
String strSQL="(Select * from dbo.PY where ID='"+jusername+"' )";
ResultSet rs=st.executeQuery(strSQL);
if(rs.next())
{
JOptionPane.showMessageDialog(null,"用戶名已存在","錯誤!", JOptionPane.ERROR_MESSAGE);
}
else
{
String sql = "insert into dbo.PY(ID,PAWD) values(' "+jusername+"',' "+jusername1+"') ";
PreparedStatement pst = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
pst.executeUpdate();
pst.close();
JOptionPane.showMessageDialog(null,"註冊成功");
}
conn.close();
//關閉數據庫連接
}
catch (ClassNotFoundException ex) {
System.out.println("沒有找到對應的數據庫驅動類");
}
catch (SQLException ex) {
System.out.println("數據庫連接或者是數據庫操作失敗");
}
}
});
}
}
耶