【Java开源代码栏目提醒】:网学会员鉴于大家对Java开源代码十分关注,论文会员在此为大家搜集整理了“AddressList.java”一文,供大家参考学习
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.
sql.*;
public class AddressList extends WindowAdapter implements ActionListener{
JFrame mainJframe;
Container con;
JPanel pane[];
JTextField fieldText[];
JLabel lbl[];
JButton firstBtn,preBtn,nextBtn,lastBtn, addBtn,editBtn,delBtn,cancelBtn,saveBtn;
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
protected int recordState=onlyRead, curRow=0,recordCnt=0;
public static final int onlyRead=0, adding=1,amending=2;
public static final String lblmsg[]={"","","性别","家庭住址","寝室","电话"};
private static final int fieldCnt=6;
public AddressList() {
mainJframe = new JFrame("学生信息管理");
con=mainJframe.getContentPane();
con.setLayout(new BoxLayout(con,BoxLayout.Y_AXIS));
pane=new JPanel[4];
for(int i=0; i<4; i++){
pane[i]=new JPanel();
pane[i].setLayout(new FlowLayout());
}
fieldText = new JTextField[fieldCnt];
lbl = new JLabel[fieldCnt];
for(int i=0; i<fieldCnt; i++){
fieldText[i]=new JTextField();
fieldText[i].setColumns(10);
fieldText[i].setEditable(false);
lbl[i]=new JLabel();
lbl[i].setText(lblmsg[i]);
pane[i/2].add(lbl[i]);
pane[i/2].add(fieldText[i]);
}
fieldText[2].setColumns(6);
fieldText[3].setColumns(12);
firstBtn=new JButton("第一条");
preBtn=new JButton("前一条");
nextBtn=new JButton("后一条");
lastBtn=new JButton("最后一条");
addBtn=new JButton("增加记录");
editBtn=new JButton("编辑记录");
delBtn=new JButton("删除记录");
cancelBtn=new JButton("取消改变");
saveBtn=new JButton("保存记录");
firstBtn.addActionListener(this);
preBtn.addActionListener(this);
nextBtn.addActionListener(this);
lastBtn.addActionListener(this);
addBtn.addActionListener(this);
editBtn.addActionListener(this);
delBtn.addActionListener(this);
cancelBtn.addActionListener(this);
saveBtn.addActionListener(this);
pane[3].add(firstBtn);
pane[3].add(preBtn);
pane[3].add(nextBtn);
pane[3].add(lastBtn);
pane[3].add(addBtn);
pane[3].add(editBtn);
pane[3].add(delBtn);
pane[3].add(cancelBtn);
pane[3].add(saveBtn);
for(int i=0;i<4;i++)
con.add(pane[i]);
mainJframe.setSize(450,300);
mainJframe.setVisible(true);
mainJframe.addWindowListener(this);
connection();
if (recordCnt>0) showDate();
setFace();
}
public static void main(String[] args) {
new AddressList();
}
public void windowClosing(WindowEvent el){
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}finally{
System.exit(0);
}
}
public void connection(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("jdbc:odbc:forStudy","","");
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery("select count(*) from student");
if( rs.next())
recordCnt=rs.getInt(1);
rs=stmt.executeQuery("select code,name,sex,address,room,tel from student");
rs.next();
curRow=1;
}catch(SQLException e){
JOptionPane.showMessageDialog(mainJframe,"数据库无法连接或没有记录");
}catch(ClassNotFoundException e){
JOptionPane.showMessageDialog(mainJframe,"无法加载ODBC驱动");
}
}
public void showDate(){
//依次在text中显示"","","性别","家庭住址","寝室","电话"
try{
fieldText[0].setText(rs.getString("code"));
fieldText[1].setText(rs.getString("name"));
fieldText[2].setText(rs.getString("sex"));
fieldText[3].setText(rs.getString("address"));
fieldText[4].setText(rs.getString("room"));
fieldText[5].setText(rs.getString("tel"));
}catch(SQLException e){
JOptionPane.showMessageDialog(mainJframe,"无法获取数据");
}
}
protected void setFace(){
firstBtn.setEnabled(false);
preBtn.setEnabled(false);
nextBtn.setEnabled(true);
lastBtn.setEnabled(true);
addBtn.setEnabled(true);
editBtn.setEnabled(true);
delBtn.setEnabled(true);
cancelBtn.setEnabled(false);
saveBtn.setEnabled(false);
recordState=onlyRead;
}
protected void setTextState(boolean flag){
for(int i=0;i<fieldCnt;i++)
fieldText[i].setEditable(fl