本案例听过图形用户界面GUI连接oracle数据库,对数据库进行添加,查询。
源代码如下
注册界面
部分事件添加代码采用JAVA8的 Lambda
部分事件添加代码采用JAVA8的 Lambda —— Lambda详解
package interfaces;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import dao.DBUtil;
import server.User;
public class ReginInterface extends JFrame implements MouseListener,KeyListener,FocusListener{
/**
*
*/
private static final long serialVersionUID = 1L;
private Container con;
private JPanel jp;
private JButton comfirmButton;
private JButton resetButton;
private JButton gotoLoginInterface;
private JLabel [] jl;
private JTextField [] jtf;
private JRadioButton radioMan;
private JRadioButton radioWoman;
private JComboBox<String> box;
private static ReginInterface instance;
private final static String[] userKind = {
"学生","教师","管理员"};
private final static String []SOURCE_DATA={
"用户名:","密码:","确认密码:","邮箱:","手机号:","身份证号:","*请输入2-14个字符","*请输入6位数字"
,"*请再次输入","请输入正确的邮箱","请输入正确的手机号","请输入有效的18位身份证号"};
private ReginInterface(){
super("Regin");
this.draw();
}
public static ReginInterface getInstance(){
if(instance == null){
return new ReginInterface();
}
return instance;
}
public void draw(){
con=this.getContentPane();
jp=new JPanel();
con.add(jp,BorderLayout.NORTH);
jp.setLayout(new GridLayout(8, 3));
jl=new JLabel[13];
jtf=new JTextField[6];
for(int i=0;i<6;i++){
jl[i]=new JLabel(SOURCE_DATA[i]);
jp.add(jl[i]);
jtf[i]=new JTextField(20);
if(i==1 || i==2){
jtf[i]=new JPasswordField(20);
}
jp.add(jtf[i]);
jtf[i].addMouseListener(this);
jtf[i].addKeyListener(this);
jtf[i].addFocusListener(this);
int j=i+6;
jl[j]=new JLabel(SOURCE_DATA[j]);
jp.add(jl[j]);
}
jp.add(new JLabel("性别:"));
JPanel jp2=new JPanel();
jp.add(jp2);
jp2.setLayout(new GridLayout(1,