概述
//jtable绑定数据库 public void fillTableFromDB(JTable table) { conn myconn = new conn(); ResultSet myrs; DefaultTableModel tm = new DefaultTableModel(); //定义数据模式 try { myrs = myconn.queryDB("select * from catalogDict "); // 查询数据库,获取结果集 Vector<Vector<String>> data = new Vector<Vector<String>>(); //创建二维Vector,用于保存数据 Vector<String> columnNames = new Vector<String>(); //创建一维Vector,用于存储表头信息 //设置表头
columnNames.add("分类编号"); columnNames.add("分类名称"); columnNames.add("文件类型"); columnNames.add("施工场所"); while (myrs.next()) //循环读取查询结果集中的数据,并逐一添加到二维Vector中 { //System.out.println(myrs.getObject(1)+" "+myrs.getObject(2)); Vector<String> row = new Vector<String>(); row.add(myrs.getObject(1).toString()); row.add(myrs.getObject(2).toString()); row.add(myrs.getObject(3).toString()); row.add(myrs.getObject(4).toString()); data.add(row); } TableModel model; // 再次创建一个TableModel,用于存储整个jTable的结构,含表头与表数据 model = new DefaultTableModel(data, columnNames); table.setModel(model); // 向jTable中添加TableModel, // 以下为设置jTable各列的宽度
TableColumnModel columns = table.getColumnModel(); int[] columnWidth = { 100, 400, 100, 100 }; for (int i = 0; i < 4; i++) { TableColumn column = columns.getColumn(i); column.setPreferredWidth(columnWidth[i]); } table.setColumnModel(columns); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
//获取用户选择的某一行的数据,并第1、2列的数据显示到jTextField中,第3、4列的数据绑定显示到jComboBox中 private void jTable1MouseClicked(java.awt.event.MouseEvent evt) { int selectedRowIndex = jTable1.getSelectedRow(); int columnsCount = jTable1.getColumnCount(); String selectedRowValue[] = new String[4]; jTextField1.setText(jTable1.getValueAt(selectedRowIndex, 0).toString()); jTextField2.setText(jTable1.getValueAt(selectedRowIndex, 1).toString()); if (jTable1.getValueAt(selectedRowIndex, 2).toString().equals("图纸设计说明")) { jComboBox1.setSelectedIndex(0); } else if (jTable1.getValueAt(selectedRowIndex, 2).toString() .equals("设计图纸")) { jComboBox1.setSelectedIndex(2); } else if (jTable1.getValueAt(selectedRowIndex, 2).toString() .equals("施工文档")) { jComboBox1.setSelectedIndex(1); } if (jTable1.getValueAt(selectedRowIndex, 3).toString().equals("区间")) { jComboBox2.setSelectedIndex(0); } else if (jTable1.getValueAt(selectedRowIndex, 3).toString() .equals("车站")) { jComboBox2.setSelectedIndex(1); } }
最后
以上就是无语红酒为你收集整理的swing jtable绑定数据库 获取用户选择行的数据的全部内容,希望文章能够帮你解决swing jtable绑定数据库 获取用户选择行的数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复