为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

jave源代码

2018-01-11 16页 doc 39KB 13阅读

用户头像

is_620441

暂无简介

举报
jave源代码jave源代码 package com.qau.manager.view; import javax.swing.JFrame; //提供轻量级组件的 scrollable 视图 import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPan...
jave源代码
jave源代码 package com.qau.manager.view; import javax.swing.JFrame; //提供轻量级组件的 scrollable 视图 import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; import com.qau.manager.util.DB; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Vector; /** * // * @author * */ public class MyFrame extends JFrame{ // 创建菜单 JMenuBar menuBar = new JMenuBar(); // JTable 用来显示和编辑常规二维单元表可以设置简单表 JTable table = null; // 类可以实现可增长的对象数组 Vector rowData = new Vector(); Vector columnNames = new Vector(); //创建 姓名一个标签 JLabel lbName = new JLabel("姓名:"); JTextField txtName = new JTextField(); //创建一个性别标签 JLabel lbSex = new JLabel("性别:"); JTextField txtSex = new JTextField(); //创建一个学号标签 JLabel lbSno = new JLabel("学号:"); JTextField txtSno = new JTextField(); //创建一个年龄标签 JLabel lbAge = new JLabel("年龄:"); JTextField txtAge = new JTextField(); //创建一个备注标签 JLabel lbRemark = new JLabel("备注:"); JTextField txtRemark = new JTextField(); //创建“添加按钮”按钮 JButton btnAdd = new JButton("添加"); //创建 删除 按钮 JButton btnDelete = new JButton("删除"); //创建 修改 按钮 JButton btnUpdate = new JButton("修改"); //创建退出 按钮 JButton btnExit = new JButton("退出"); //使其光标显示在表的前面,因为索引默认为0 int id = -1; //创建一个视口是空的,即无视口的视图,在需要的时候,垂直和水平滚动条都可以显示 JScrollPane scrollPane = new JScrollPane(); public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); new MyFrame(); } /** * 构造函数 */ public MyFrame(){ // 界面 initView(); } /** * 初始化界面 */ private void initView(){ // 设置布局 (布局设计) setLayout(null); //窗口标题 setTitle("宿舍信息管理程序beta版0.1"); //菜单栏 JMenu menuOperation = new JMenu("文件"); JMenuItem menuItemExit = new JMenuItem("退出"); JMenuItem menuItemAbout = new JMenuItem("关于"); menuBar.add(menuOperation); menuOperation.add(menuItemAbout); menuOperation.addSeparator();//添加一个新的分离器菜单的末尾 menuOperation.add(menuItemExit); setJMenuBar(menuBar); //菜单栏监听事件,即为可以用鼠标控制 menuItemExit.addActionListener(new ActionListener()//增加了一个动作监听到按钮 { { @Override public void actionPerformed(ActionEvent e) { exit(); } }); menuItemAbout.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { about(); } }); //文本框标签初始化,setbounds(x,y,a,b) //其中,x,y表示标签距离屏幕左上角的距离,a,b为框距离标签左上角的距离 lbName.setBounds(10,10,50,25); txtName.setBounds(60, 10, 100, 25); lbSex.setBounds(170,10,50,25); txtSex.setBounds(230, 10, 100, 25); lbSno.setBounds(10, 40, 50, 25); txtSno.setBounds(60, 40, 100, 25); lbAge.setBounds(170, 40, 50, 25); txtAge.setBounds(230,40,100,25); lbRemark.setBounds(10, 70, 50, 25); txtRemark.setBounds(60, 70,270, 25); btnAdd.setBounds(10, 100, 70, 25); btnDelete.setBounds(90, 100, 70, 25); btnUpdate.setBounds(170, 100, 70, 25); btnExit.setBounds(250, 100, 70, 25); add(btnExit); add(btnUpdate); add(btnDelete); add(btnAdd); add(txtRemark); add(lbRemark); add(txtAge); add(lbAge); add(txtSno); add(lbSno); add(txtSex); add(lbName); add(lbSex); add(txtName); //按钮事件监听s btnAdd.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { add(); //更新数据 initTable(); } }); // 用鼠标删除再更新 btnDelete.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { delete(); initTable(); } }); // 用鼠标修改并更新 btnUpdate.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { update(); initTable(); } }); // 用鼠标退出并更新 btnExit.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { exit(); } }); //表格初始化 initTable(); //setBounds(x,y,width,height); x:组件在容器X轴上的起点 y:组件在容器Y轴上的起点 width:组件的长度 height:组件的 scrollPane.setBounds(10, 150, 400, 250); add(scrollPane); //System.out.println(JFrame.EXIT_ON_CLOSE); setBounds(100,100,450,500); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { exit(); } }); setVisible(true); } /** * 表格初始化方法 */ private void initTable(){ columnNames.removeAllElements(); rowData.removeAllElements(); columnNames.add("ID"); columnNames.add("姓名"); columnNames.add("性别"); columnNames.add("学号"); columnNames.add("年龄"); //columnNames.add("家庭住址"); columnNames.add("备注"); //连接数据库 Connection conn = DB.GetConn(); //选着数据库中的表 String querySql = "select * from student"; //从当前行获取列的值。ResultSet具有指向当前数据行的光标 ResultSet rs = DB.GetRs(conn, querySql); try { while(rs.next()){ //实例化一个泛型类Vector的列 Vector row = new Vector(); //设置表的每列的名字 row.add(rs.getString("id")); row.add(rs.getString("name")); row.add(rs.getString("sex").equals("0")? "女" : "男"); row.add(rs.getString("sno")); row.add(rs.getString("sage")); row.add(rs.getString("remark")); //可以增加列 rowData.add(row); } } catch (SQLException e) { e.printStackTrace(); } finally { //关闭数据库 DB.CloseRs(rs); DB.CloseConn(conn); } table = new JTable(); TableModel model = new DefaultTableModel(rowData,columnNames); table.setModel(model); scrollPane.setViewportView(table);// 创建一个视口并设置其视图 scrollPane.setAutoscrolls(true);//超出文本框的范围,会自动粗线滚动条 table.setAutoscrolls(true);//表格超出文本框的范围 table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);//可以改变列的长度 ((DefaultTableModel)table.getModel()).fireTableDataChanged(); // 鼠标键 table.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { //获取表中行数 int row = table.getSelectedRow(); //获取表中数据 TableModel model = table.getModel(); try { //获取id的行和列的值 id = Integer.parseInt(model.getValueAt(row, 0).toString());//将Object转为字符串类型的才能输出出来 //获取name的值 txtName.setText(model.getValueAt(row, 1).toString()); //获取sex的值 txtSex.setText(model.getValueAt(row, 2).toString()); //获取sno的值 txtSno.setText(model.getValueAt(row, 3).toString()); //获取age的值 txtAge.setText(model.getValueAt(row, 4).toString()); //获取remark的值 txtRemark.setText(model.getValueAt(row, 5).toString()); } catch (Exception e1) { } } }); } /** * 添加数据方法 */ private void add(){ //询问用户是否要添加值 int rtVal = JOptionPane.showConfirmDialog(null, "是否要添加该数据?"); if(rtVal == JOptionPane.YES_OPTION){ String addSql = "insert into student(name,sex,sno,sage,remark) values(?,?,?,?,?)"; Connection conn = DB.GetConn(); //使SQL语句储存在Pstmt中 PreparedStatement pstmt = DB.GetPStmt(conn, addSql); //捕获并处理异常 try { pstmt.setString(1, txtName.getText()); pstmt.setInt(2, txtSex.getText().equals("男")? 1 : 0); pstmt.setString(3, txtSno.getText()); pstmt.setInt(4, Integer.parseInt(txtAge.getText())); pstmt.setString(5, txtRemark.getText()); pstmt.executeUpdate(); JOptionPane.showMessageDialog(null, "添加数据成功"); } catch (SQLException e) { JOptionPane.showMessageDialog(null, "添加数据失败"); e.printStackTrace(); } finally { DB.CloseStmt(pstmt); DB.CloseConn(conn); } } } /** * 删除数据方法 */ private void delete(){ if(id != -1){ int rtVal = JOptionPane.showConfirmDialog(null, "是否要删除id为:" + id + "的数据?"); if(rtVal == JOptionPane.YES_OPTION){ String deleteSql = "delete from student where id = " + id; Connection conn = DB.GetConn(); Statement stmt = DB.GetStmt(conn); try { stmt.executeUpdate(deleteSql); JOptionPane.showMessageDialog(null, "删除数据成功"); } catch (SQLException e) { JOptionPane.showMessageDialog(null, "删除数据失败 "); e.printStackTrace(); } finally { DB.CloseStmt(stmt); DB.CloseConn(conn); } } } else { JOptionPane.showMessageDialog(null, "您尚未选中数据"); } } /** * 更新数据方法 */ private void update(){ int rtVal = JOptionPane.showConfirmDialog(null, "是否要修改id为:" + id + "的数据吗?"); if(rtVal == JOptionPane.YES_OPTION){ String updateSql = "update student set name = ?, sex = ?, sno = ?, sage = ?, remark = ? where id = ?"; Connection conn = DB.GetConn(); PreparedStatement pstmt = DB.GetPStmt(conn, updateSql); try { pstmt.setString(1, txtName.getText()); pstmt.setInt(2, txtSex.getText().equals("男")? 1 : 0); pstmt.setString(3, txtSno.getText()); pstmt.setInt(4, Integer.parseInt(txtAge.getText())); pstmt.setString(5, txtRemark.getText()); pstmt.setInt(6, id); pstmt.executeUpdate(); JOptionPane.showMessageDialog(null, "添加数据成功"); } catch (SQLException e) { JOptionPane.showMessageDialog(null, "添加数据失败"); e.printStackTrace(); } finally { DB.CloseStmt(pstmt); DB.CloseConn(conn); } } } /** * 退出程序方法 */ private void exit(){ int rtVal = JOptionPane.showConfirmDialog(null, "是否要退出程序,"); if(rtVal == JOptionPane.YES_OPTION){ System.exit(0); } } /** * 本系统的关于 */ private void about(){ JOptionPane.showMessageDialog(null, "本系统由XXX设计开发版本为beta0.1"); } }
/
本文档为【jave源代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索