實現添加功能
Test.java
~~~
package studysystem;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
public class Test extends JFrame implements ActionListener
{
JPanel mb1,mb2;
JLabel bq1;//標簽
JTextField wbk1;//文本框
JButton an1,an2,an3,an4;//按鈕
JTable bg1; //表格
JScrollPane gd1;//滾動條
Xsxx xsxx2;
public static void main(String[] args)
{
Test xs=new Test();
}
public Test()
{
mb1=new JPanel();
bq1=new JLabel("請輸入姓名");
wbk1=new JTextField(10);
an1=new JButton("查詢");
an1.addActionListener(this);
an1.setActionCommand("chaxun");
mb1.add(bq1); mb1.add(wbk1); mb1.add(an1);
mb2=new JPanel();
an2=new JButton("添加");
an2.addActionListener(this);
an2.setActionCommand("tianjia");
an3=new JButton("修改");
an3.addActionListener(this);
an3.setActionCommand("xiugai");
an4=new JButton("刪除");
an4.addActionListener(this);
an4.setActionCommand("shanchu");
mb2.add(an2); mb2.add(an3); mb2.add(an4);
xsxx2=new Xsxx();
bg1=new JTable(xsxx2);
//JTable 后面的括號先記錄后字段
//bg1=new JTable(jilu,ziduan);
gd1=new JScrollPane(bg1);
this.add(gd1);
this.add(mb1,"North");
this.add(mb2,"South");
this.setTitle("學生管理系統");
this.setSize(500,400);
this.setLocation(201,181);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("chaxun"))
{
//System.out.println("aaa");
String xingming=this.wbk1.getText().trim();
String sql="select * from xuesheng where xingming='"+xingming+"'";
xsxx2=new Xsxx(sql);
bg1.setModel(xsxx2);
}
else if(e.getActionCommand().equals("tianjia"))
{
//System.out.println("bbb");
//參數中的true為打開新的窗口,父窗口不可編輯
Tianjia tj=new Tianjia(this,"添加學生信息",true);
xsxx2=new Xsxx();
bg1.setModel(xsxx2);
}
else if(e.getActionCommand().equals("xiugai"))
{
System.out.println("ccc");
}
else if(e.getActionCommand().equals("shanchu"))
{
System.out.println("ddd");
}
}
}
~~~
Xsxx.java
~~~
package studysystem;
import java.sql.*;
import java.util.*;
import javax.swing.table.*;
class Xsxx extends AbstractTableModel
{
Vector ziduan,jilu;//字段和記錄兩個集合類
PreparedStatement ps=null;
Connection ct=null; //聲明Connection對象
ResultSet rs=null;//聲明ResultSet類,用來存放獲取的結果集!!
public int getRowCount()
{
return this.jilu.size();
}
public int getColumnCount()
{
return this.ziduan.size();
}
public Object getValueAt(int hang, int lie)
{
return ((Vector)this.jilu.get(hang)).get(lie);
}
public Xsxx()
{
this.sqlyj("select * from xuesheng");
}
public Xsxx(String ss)
{
this.sqlyj(ss);
}
public String getColumnName(int e)
{
return (String)this.ziduan.get(e);
}
public void sqlyj(String sql)
{
ziduan=new Vector();
ziduan.add("學號");
ziduan.add("姓名");
ziduan.add("性別");
ziduan.add("年齡");
ziduan.add("籍貫");
ziduan.add("所在院系");
jilu=new Vector();
try {
//加載驅動程序
Class.forName("com.mysql.jdbc.Driver");
ct=DriverManager.getConnection("jdbc:mysql://122.14.200.136:3306/javadb","root","6a133f0024");
ps=ct.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()){
Vector hang=new Vector();
hang.add(rs.getString(1));
hang.add(rs.getString(2));
hang.add(rs.getString(3));
hang.add(rs.getInt(4));
hang.add(rs.getString(5));
hang.add(rs.getString(6));
jilu.add(hang);
}
} catch (Exception e){}
finally
{
try {
if(rs!=null)
{
rs.close();
}
if(ps!=null)
{
ps.close();
}
if(ct!=null)
{
ct.close();
}
} catch (Exception e){}
}
}
}
~~~
Tianjia.java
~~~
package studysystem;
import javax.swing.JDialog;
import javax.swing.JFrame;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
class Tianjia extends JDialog implements ActionListener
{
JLabel bq1,bq2,bq3,bq4,bq5,bq6;
JTextField wbk1,wbk2,wbk3,wbk4,wbk5,wbk6;
JButton an1,an2;
JPanel mb1,mb2,mb3,mb4;
public Tianjia(Frame fck,String ckm,Boolean msck)
{
super(fck,ckm,msck);
bq1=new JLabel(" 學號 ");
bq2=new JLabel(" 姓名 ");
bq3=new JLabel(" 性別 ");
bq4=new JLabel(" 年齡 ");
bq5=new JLabel(" 籍貫 ");
bq6=new JLabel(" 院系 ");
wbk1=new JTextField(5);
wbk2=new JTextField(5);
wbk3=new JTextField(5);
wbk4=new JTextField(5);
wbk5=new JTextField(5);
wbk6=new JTextField(5);
an1=new JButton("添加");
an1.addActionListener(this);
an1.setActionCommand("tianjia2");
an2=new JButton("取消");
an2.addActionListener(this);
an2.setActionCommand("quxiao");
mb1=new JPanel();
mb2=new JPanel();
mb3=new JPanel();
mb4=new JPanel();
mb1.setLayout(new GridLayout(6,1));
mb2.setLayout(new GridLayout(6,1));
mb1.add(bq1); mb1.add(bq2); mb1.add(bq3);
mb1.add(bq4); mb1.add(bq5); mb1.add(bq6);
mb2.add(wbk1); mb2.add(wbk2); mb2.add(wbk3);
mb2.add(wbk4); mb2.add(wbk5); mb2.add(wbk6);
mb3.add(an1); mb3.add(an2);
this.add(mb1,BorderLayout.WEST);
this.add(mb2);
this.add(mb3,BorderLayout.SOUTH);
this.add(mb4,BorderLayout.EAST);
this.setSize(370,270);
this.setLocation(401,281);
this.setResizable(false);
//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("tianjia2"))
{
PreparedStatement ps=null;
Connection ct=null; //聲明Connection對象
ResultSet rs=null;//聲明ResultSet類,用來存放獲取的結果集!!
Statement sm=null;
try {
//加載驅動程序
Class.forName("com.mysql.jdbc.Driver");
ct=DriverManager.getConnection("jdbc:mysql://122.14.200.136:3306/javadb","root","6a133f0024");
String ss=("insert into xuesheng values(?,?,?,?,?,?)");
ps=ct.prepareStatement(ss);
ps.setString(1,wbk1.getText());
ps.setString(2,wbk2.getText());
ps.setString(3,wbk3.getText());
ps.setString(4,wbk4.getText());
ps.setString(5,wbk5.getText());
ps.setString(6,wbk6.getText());
ps.executeUpdate();
this.dispose();
} catch (Exception e2){}
finally
{
try {
if(rs!=null)
{
rs.close();
}
if(ps!=null)
{
ps.close();
}
if(ct!=null)
{
ct.close();
}
} catch (Exception e3){}
}
}
else if(e.getActionCommand().equals("quxiao"))//取消
{
this.dispose();
}
}
}
~~~


- 書寫心得
- 基礎回顧
- 異常的處理
- equils方法
- 集合類
- ArrayList的遍歷和添加
- ArrayList的刪除插入
- 實例:食品庫存管理
- HashMap
- 集合類的區別和選擇
- 泛型和反射機制
- 圖形化用戶界面(GUI)
- JFrame容器
- 邊界布局管理器
- 流式布局管理器
- 網格布局管理器
- Jpanel面板
- 文本框和標簽
- 單選按鈕和復選按鈕
- 下拉列表框和滾動條
- 拆分窗口
- 聊天窗口
- 用戶登錄界面
- 記事本界面
- 線程
- 創建線程的方法
- 線程的優先級
- 線程的睡眠
- 線程的讓步與阻塞
- 買票問題
- 生產消費問題
- IO流
- 字符流
- 字節流
- 緩沖流
- 數據流傳輸
- 轉換流
- 空字符串區別
- Print流
- Object
- IO流補充
- 繪圖技術和事件處理機制
- 繪圖基礎-繪制圖形
- 繪圖基礎-繪制圖像
- 繪圖基礎-繪制文字
- 事件處理-事件監聽
- 事件處理-控件事件
- 事件處理-鍵盤事件
- 事件處理-鼠標事件
- 事件處理-窗口事件
- 記事本
- 坦克大戰
- 階段1
- 階段2
- 階段3
- 階段4
- 階段5
- 階段6
- 階段7
- 階段8
- 階段9
- 階段10
- 階段11
- 階段12
- 階段13
- 階段14
- SQL Server 2005
- 簡易學生管理系統
- 階段(1)-顯示
- 階段(2)-查詢
- 階段(3)-添加
- 階段(4)-刪除
- 階段(5)-修改
- 簡易餐飲管理系統
- 階段-01
- 階段-02
- 階段-03
- 階段-04
- Index.java
- Login.java
- Main.java
- MyFont.java
- ImagePanel.java
- Conn.java
- Moxing.java
- 網絡編程基礎
- 互發信息(1)-傳輸
- 互發信息(2)-互發
- 互發信息(3)-GUI
- 互發信息(4)-對象流
- 網絡聊天工具
- 階段--01--界面
- Server
- Index
- Client
- Login
- Chat
- List