Jtable_同一表格内实现增删改查.rar

  • D8_177841
    了解作者
  • 1.8MB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-06-15 07:26
    上传日期
前段时间无聊研究一下java swing 的JTable表格 做了一下在表格内实现的增删盖查,数据库用的是mysql8.0
Jtable_同一表格内实现增删改查.rar
内容介绍
package text.com.list; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; import java.util.Vector; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.SwingConstants; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.TableCellEditor; public class win extends JFrame implements ActionListener { private JPanel jp1,jp2; private JScrollPane js=null; private JTable tb1=null; private JButton jb1,jb2,jb3,jb4,jb5,jb6; private JLabel jl1; private JTextField jt1; private stuModle sm; private String sql="select * from stu_"; private static int celleditrowNo=-1; private static int update=0; public win() { init(); } private void init() { this.setSize(600,600); this.setTitle("时尚最想听"); jb1=new JButton("查询"); jb1.addActionListener(this); jb2=new JButton("添加"); jb2.addActionListener(this); jb3=new JButton("修改"); jb3.addActionListener(this); jb4=new JButton("删除"); jb4.addActionListener(this); jb5=new JButton("保存"); jb5.setEnabled(false); jb5.addActionListener(this); jb6=new JButton("取消"); jb6.setEnabled(false); jb6.addActionListener(this); jl1=new JLabel("用户名"); jt1=new JTextField(10); jp1=new JPanel(); jp1.add(jl1); jp1.add(jt1); jp1.add(jb1); sm=new stuModle(sql); sm.setGetcelleditrowNo(celleditrowNo); tb1=new JTable(sm); DefaultTableCellRenderer tcr = new DefaultTableCellRenderer();// 设置table内容居中 //  // tcr.setHorizontalAlignment(JLabel.CENTER); tcr.setHorizontalAlignment(SwingConstants.CENTER);// 这句和上句作用一样 tb1.setDefaultRenderer(Object.class, tcr); js=new JScrollPane(tb1); jp2=new JPanel(); jp2.add(jb2); jp2.add(jb3); jp2.add(jb4); jp2.add(jb5); jp2.add(jb6); this.add(jp1,BorderLayout.NORTH); this.add(js); this.add(jp2,BorderLayout.SOUTH); this.setDefaultCloseOperation(this.DISPOSE_ON_CLOSE); this.setLocationRelativeTo(null); this.setVisible(true); } public static void main(String[] args) { JFrame e=new win(); } @Override public void actionPerformed(ActionEvent e) { if(e.getSource()==jb1) //查询 { String sql1=null; String name=jt1.getText().replace(" ", ""); if(name.equals("")) { sql1="select * from stu_"; }else { sql1="select * from stu_ where Name='"+name+"'";} sm=new stuModle(sql1); tb1.setModel(sm); } else if(e.getSource()==jb2) //添加行 { update=1; if(tb1.isEditing()) { tb1.getCellEditor().stopCellEditing(); } celleditrowNo=sm.getRowCount(); if(sm.getRowCount()==0) { sm.addrow(); sm.setGetcelleditrowNo(celleditrowNo); jb5.setEnabled(true); }else if(!( sm.getValueAt((sm.getRowCount()-1), 0)).equals("")) { sm.addrow(); sm.setGetcelleditrowNo(celleditrowNo); jb5.setEnabled(true); jb6.setEnabled(true); } }else if(e.getSource()==jb4) { //获取选中的行号,如果一行都没有选这返回-1 //删除行 System.out.print(tb1.getSelectedRow()); int rowNo=tb1.getSelectedRow(); if(rowNo==-1) { JOptionPane.showMessageDialog(this, "" + "我擦!你一行没选叫我怎么删!" + "怎么删!怎么删!怎么删!!"); return; } String sql4="delete from stu_ where Id=?"; Vector hang=new Vector(); hang.add(sm.getValueAt(rowNo, 0).toString()); sm.update(sql4, hang); sm=new stuModle(sql); tb1.setModel(sm); }else if(e.getSource()==jb3) {//修改数据 update=2; celleditrowNo=tb1.getSelectedRow(); sm.setGetcelleditrowNo(celleditrowNo); jb5.setEnabled(true); jb6.setEnabled(true); }else if(e.getSource()==jb5) { //行向量容器 //获取编辑行号 int row=-2; //获取行资料的容器 Vector hang=new Vector(); //判断是否是编辑状态 if(tb1.isEditing()) { //判断是新增行 if(update==1) { row = sm.getRowCount()-1; } //判断是编辑行 else if(update==2){ row=tb1.getSelectedRow(); } tb1.getCellEditor().stopCellEditing(); //获取编辑的焦点 for(int i=0;i<sm.getColumnCount();i++) { if(sm.getValueAt(row, i).toString().replace(" ", "").equals("")) {JOptionPane.showMessageDialog(this, "请输入完整学生资料"); return; } hang.add(sm.getValueAt(row, i).toString().replace(" ", "")); } } String sql1=null; if(update==1) { sql1="insert into stu_ values(?,?,?,?,?,?,?)"; sm.update(sql1, hang);} else if(update==2) { sql1="update stu_ set Name=?,Age=?,Gender=?,Address=?,Grade=?,Class_=? where Id=?"; sm.updata2(sql1, hang); } sm=new stuModle(sql); tb1.setModel(sm); jb5.setEnabled(false); jb6.setEnabled(false); celleditrowNo=-1; sm.setGetcelleditrowNo(celleditrowNo); update=0; } else if(e.getSource()==jb6) { celleditrowNo=-1; sm.setGetcelleditrowNo(celleditrowNo); jb5.setEnabled(false); jb6.setEnabled(false); sm=new stuModle(sql); tb1.setModel(sm); } } }
评论
    相关推荐