使用mysql将JTable Rows填充到Java中的JTextFields

时间:2015-04-12 08:13:31

标签: java mysql swing jtable jtextfield

当我点击JTable上的特定行时,我在填充JTextfields时遇到问题。当我单击JTable中的一行时,JTextfields不会填充各自的值。请帮忙。感谢。

我的代码:

scrollPane = new JScrollPane();
    scrollPane.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {

            int row = table.getSelectedRow();
            String tbl_click = (table.getModel().getValueAt(row, 0).toString());

            try{
                String sql = "SELECT * FROM employee where EmployeeID = '"+tbl_click+"' ";
                stt = con.prepareStatement(sql);
                rs = stt.executeQuery();


                if(rs.next()){
                    int ids = rs.getInt("EmployeeID");
                    id.setText(String.valueOf(ids).trim());

                    String fn = rs.getString("FirstName");
                    fname.setText(fn);

                    String ln = rs.getString("LastName");
                    lname.setText(ln);
                }

                stt.close();

            }catch(Exception e1){
                e1.printStackTrace();
            }

        }
    });
    scrollPane.setBounds(312, 277, 551, 246);
    frame.getContentPane().add(scrollPane);

    table = new JTable();
    scrollPane.setViewportView(table);
    table.setModel(DbUtils.resultSetToTableModel(rs));

1 个答案:

答案 0 :(得分:1)

MouseEvents就像雨滴一样,它们从顶部到底部穿过组件层次结构,直到它们遇到监视它们的东西,然后它们停止。

问题的可能原因是JTableJScrollPane位于JScrollPane内,会阻止MouseEvents收到任何MouseListener的通知。

我猜测"您需要将JTable添加到ListSelectionListener。事实上,我可能会通过行ListSelectionModel使用{{1}},而不是