Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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 如何将imagepath存储在数据库中并设置为按钮_Java_Database_Swing_Imageicon - Fatal编程技术网

Java 如何将imagepath存储在数据库中并设置为按钮

Java 如何将imagepath存储在数据库中并设置为按钮,java,database,swing,imageicon,Java,Database,Swing,Imageicon,我有一个GUI,它有文本字段和按钮。如果单击“下一步”按钮,光标应在数据库中导航,并将行值设置到我的文本字段中,并将路径放入“创建图像”按钮图标中。但它给了我这个错误 代码块: if (event.getSource() == next) { try { if (rs.next()) { lastnameT.setText(rs.getString("lname")); firstnameT.setText(r

我有一个GUI,它有文本字段和按钮。如果单击“下一步”按钮,光标应在数据库中导航,并将行值设置到我的文本字段中,并将路径放入“创建图像”按钮图标中。但它给了我这个错误

代码块:

if (event.getSource() == next) {
    try {   
        if (rs.next()) {    
            lastnameT.setText(rs.getString("lname"));
            firstnameT.setText(rs.getString("fname"));
            middlenameT.setText(rs.getString("mname"));
            aliasT.setText(rs.getString("alias"));
            sexT.setSelectedItem(rs.getString("sex"));
            ageT.setText(rs.getString("age"));
            civilstatusT.setSelectedItem(rs.getString("civilstatus"));
            addressT.setText(rs.getString("address"));
            religionT.setSelectedItem(rs.getString("religion"));
            monthT.setSelectedItem(rs.getString("m"));
            dayT.setSelectedItem(rs.getString("d"));
            yearT.setSelectedItem(rs.getString("y"));
            eaT.setSelectedItem(rs.getString("EA"));
            weightT.setText(rs.getString("weight"));;
            heightT.setText(rs.getString("height"));
            hairT.setSelectedItem(rs.getString("hair"));
            hairColorT.setSelectedItem(rs.getString("haircolor"));
            colorEyesT.setSelectedItem(rs.getString("colorofeyes"));
            complexionT.setSelectedItem(rs.getString("complexion"));
            gangT.setText(rs.getString("gang"));
            marksT.setText(rs.getString("marks"));
            preparedbyT.setText(rs.getString("preparedBy"));
            verifiedT.setText(rs.getString("verifiedBy"));

            //btnNewButton.putClientProperty(rs.getString("image"),rs.getString("image"));
            btnNewButton.setIcon(new ImageIcon(rs.getString("image")));
            //  save.setIcon(new ImageIcon(file.getPath()));
        }
        else {
            JOptionPane.showMessageDialog(null, "No more records");
        }
    }
    catch (Exception e) {
        JOptionPane.showMessageDialog(null,"Sa catch bumagsak");
        System.out.print(e);
    }
}
Uncaught error fetching image:
java.lang.NullPointerException
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at sun.awt.image.FileImageSource.getDecoder(Unknown Source)
    at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
    at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
    at sun.awt.image.ImageFetcher.run(Unknown Source)
错误:

if (event.getSource() == next) {
    try {   
        if (rs.next()) {    
            lastnameT.setText(rs.getString("lname"));
            firstnameT.setText(rs.getString("fname"));
            middlenameT.setText(rs.getString("mname"));
            aliasT.setText(rs.getString("alias"));
            sexT.setSelectedItem(rs.getString("sex"));
            ageT.setText(rs.getString("age"));
            civilstatusT.setSelectedItem(rs.getString("civilstatus"));
            addressT.setText(rs.getString("address"));
            religionT.setSelectedItem(rs.getString("religion"));
            monthT.setSelectedItem(rs.getString("m"));
            dayT.setSelectedItem(rs.getString("d"));
            yearT.setSelectedItem(rs.getString("y"));
            eaT.setSelectedItem(rs.getString("EA"));
            weightT.setText(rs.getString("weight"));;
            heightT.setText(rs.getString("height"));
            hairT.setSelectedItem(rs.getString("hair"));
            hairColorT.setSelectedItem(rs.getString("haircolor"));
            colorEyesT.setSelectedItem(rs.getString("colorofeyes"));
            complexionT.setSelectedItem(rs.getString("complexion"));
            gangT.setText(rs.getString("gang"));
            marksT.setText(rs.getString("marks"));
            preparedbyT.setText(rs.getString("preparedBy"));
            verifiedT.setText(rs.getString("verifiedBy"));

            //btnNewButton.putClientProperty(rs.getString("image"),rs.getString("image"));
            btnNewButton.setIcon(new ImageIcon(rs.getString("image")));
            //  save.setIcon(new ImageIcon(file.getPath()));
        }
        else {
            JOptionPane.showMessageDialog(null, "No more records");
        }
    }
    catch (Exception e) {
        JOptionPane.showMessageDialog(null,"Sa catch bumagsak");
        System.out.print(e);
    }
}
Uncaught error fetching image:
java.lang.NullPointerException
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at sun.awt.image.FileImageSource.getDecoder(Unknown Source)
    at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
    at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
    at sun.awt.image.ImageFetcher.run(Unknown Source)
获取图像时出现未捕获错误: java.lang.NullPointerException 位于java.io.FileInputStream。(未知源) 位于java.io.FileInputStream。(未知源) 位于sun.awt.image.FileImageSource.getDecoder(未知源) 在sun.awt.image.InputStreamImageSource.doFetch(未知源)处 位于sun.awt.image.ImageFetcher.fetchloop(未知源) 位于sun.awt.image.ImageFetcher.run(未知源)
似乎
rs.getString(“image”)
正在返回文件的无效路径。您可以轻松地检查以下内容:

//btnNewButton.setIcon(new ImageIcon(rs.getString("image")));
System.out.println(rs.getString("image"));
一些提示 数据库调用是耗时的任务,可能会阻塞(又称EDT),导致GUI无响应。EDT是一个单独的特殊线程,Swing组件在其中创建和更新。为了避免阻塞,该线程考虑使用A在后台线程中执行数据库调用,并更新EDT中的Swing组件。更多信息请参阅

我建议你看看书中的提示。总结:

  • 在域类中包装数据
  • 使用SwingWorker在后台线程中执行数据库调用,并在EDT中更新Swing组件

rs.getString(“图像”)的路径是什么?