Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 试图从“中获取价值”;JTable“;并将其设置为;Jtextfield";_Java_Sql_Swing_Jtable - Fatal编程技术网

Java 试图从“中获取价值”;JTable“;并将其设置为;Jtextfield";

Java 试图从“中获取价值”;JTable“;并将其设置为;Jtextfield";,java,sql,swing,jtable,Java,Sql,Swing,Jtable,我在这里看到了一些和我一样的问题,但不是所有的问题,包括我的问题。。我想从“JTable”中获取值,并将其设置为“Jtextfield”。我写了代码,但它不起作用。这是我的密码: private void Table_EmployeeMouseClicked(java.awt.event.MouseEvent evt) { int row =Table_Employee.getSelected

我在这里看到了一些和我一样的问题,但不是所有的问题,包括我的问题。。我想从“JTable”中获取值,并将其设置为“Jtextfield”。我写了代码,但它不起作用。这是我的密码:

private void Table_EmployeeMouseClicked(java.awt.event.MouseEvent evt)
{                                            
        int row =Table_Employee.getSelectedRow();
        String Table_click=(Table_Employee.getModel().getValueAt(row, 0).toString());
        try{
        String sql ="select * from KYaziciProg where \"Müşteri Adı\"='"+Table_click+"' ";
        pst=conn.prepareStatement(sql);
        rs=pst.executeQuery();
        if(rs.next()){

        String add1 =rs.getString("Yapılan İşlem");
        jTextField2.setText(add1);

        String add2 =rs.getString("Müşteri Adı");
        jTextField1.setText(add2);

        String add3 =rs.getString("Ürünün Cinsi");
        jTextField3.setText(add3);

        String add4 =rs.getString("Ürünün Miktarı");
        jTextField4.setText(add4);

        String add5 =rs.getString("Ürünün Fiyatı");
        jTextField5.setText(add5);

        String add6 =rs.getString("Ürünün Tutarı");
        jTextField6.setText(add6);

        String add7 =rs.getString("İşlem Tarihi");
        jTextField7.setText(add7);

        String add8 =rs.getString("Ödeme Vadesi");
        jTextField8.setText(add8);

        String add9 =rs.getString("Yapılan Ödeme");
        jTextField9.setText(add9);

        String add10 =rs.getString("Kalan Bakiye");
        jTextField10.setText(add10);
        }
       }catch(Exception e){
       JOptionPane.showMessageDialog(null, e);
       } 
    }                                           
  • 添加
    pst.close()
    rs.close()
    最终阻塞(
    try-catch-finally
    ),否则这些对象会增加JVM内存

  • 为了避免使用
    MouseListener
    来处理此职务,意味着
    private void Table\u EmployeeMouseClicked(java.awt.event.MouseEvent evt)

  • 每次鼠标点击都会调用JDBC,但这并不能保证

    • 选择任意行,因为默认情况下,MouseEvents不仅可以选择JTable中的单元格、行或列

    • 只选择一个单元格、行或列,否则您将需要求解所选单元格、行、列的数组

    • 添加了ListSelectionListener

    • 将ListSelectionMode更改为SINGLE

  • 编辑

    • ,从JPopup而不是从Mouse或ListSelectionListerner调用JDBC,则可以使用JTable中的所有鼠标a键事件,而无需考虑是否调用了JDBC

    • 然后我错过了测试(否则是ArraysOf或NPE异常)伪代码

    • JTables视图可以进行排序或筛选、列重新排序、从视图中删除,然后从选定单元格、行、列索引不等于参考底图中的索引XxxTableModel,需要将视图索引转换为模型索引更多

    • 也许,默认情况下并不要求JTables视图可以返回相同的值,直到TableCellRenderer中没有修改该值为止

    • 删除redutant代码行(在数据库中不允许null的情况下,否则您必须测试
      if(rs.getString(“Yapılanİşlem”)!=null)

  • 添加
    pst.close()
    rs.close()
    最终阻塞(
    try-catch-finally
    ),否则这些对象会增加JVM内存

  • 为了避免使用
    MouseListener
    来处理此职务,意味着
    private void Table\u EmployeeMouseClicked(java.awt.event.MouseEvent evt)

  • 每次鼠标点击都会调用JDBC,但这并不能保证

    • 选择任意行,因为默认情况下,MouseEvents不仅可以选择JTable中的单元格、行或列

    • 只选择一个单元格、行或列,否则您将需要求解所选单元格、行、列的数组

    • 添加了ListSelectionListener

    • 将ListSelectionMode更改为SINGLE

  • 编辑

    • ,从JPopup而不是从Mouse或ListSelectionListerner调用JDBC,则可以使用JTable中的所有鼠标a键事件,而无需考虑是否调用了JDBC

    • 然后我错过了测试(否则是ArraysOf或NPE异常)伪代码

    • JTables视图可以进行排序或筛选、列重新排序、从视图中删除,然后从选定单元格、行、列索引不等于参考底图中的索引XxxTableModel,需要将视图索引转换为模型索引更多

    • 也许,默认情况下并不要求JTables视图可以返回相同的值,直到TableCellRenderer中没有修改该值为止

    • 删除redutant代码行(在数据库中不允许null的情况下,否则您必须测试
      if(rs.getString(“Yapılanİşlem”)!=null)


    从代码中我可以说,您希望从JTable获取值并在sql中使用它(JTextField与此无关)。请具体说明什么是不起作用的-什么是错的?是的,你知道这是真的。确切的问题是,当我运行程序时,我点击了表中的一个随机行;它没有在表旁边的JTextFields上显示我。在这里,我可以给你一个截图。所以表中的所有列中都有空白值,或者并没有从数据库中选择任何内容。你们打印了表的实际值了吗?点击一下,你们测试了从数据库中选择了什么吗?Meh可能:)谢谢你们,mKorbel的答案是正确的:)从代码中,我想说你们想从JTable中获取值,并在sql中使用它(JTextField与此无关)。请具体说明什么是不起作用的-什么是错的?是的,你知道这是真的。确切的问题是,当我运行程序时,我点击了表中的一个随机行;它没有在表旁边的JTextFields上显示我。在这里,我可以给你一个截图。所以表中的所有列中都有空白值,或者并没有从数据库中选择任何内容。你们打印了表格点击的真实值了吗?你们测试了从数据库中选择的东西了吗?Meh可能:)谢谢你们,mKorbel的答案是正确的:)谢谢,伙计,我把它们转换成了“jTextField2.setText((rs.getString(“Yapılanİşlem”).trim()”,并把JTextField的名字改成了我的名字,它可以工作了^^谢谢你,伙计,我把它们改成了“jTextField2.setText((rs.getString(“Yapılanİşlem”).trim();”并把JTextField的名字改成了我的名字,这很有效^^
       int row =Table_Employee.getSelectedRow();
       if (row > -1) {  // no selection
         // now is possible to determine value
         // note see my next point about following code line
         // Table_Employee.getModel().getValueAt(row, 0).toString() 
       }
    
    String add1 = rs.getString("Yapılan İşlem");
    jTextField2.setText(add1);
    
    could be with success
    
    jTextField2.setText((rs.getString("Yapılan İşlem")).trim());