java - 尝试从方法返回两个值

标签 java javafx

我运行一个 GUI 来显示 MySQL 数据库中的每个图像,在单击下一个按钮时显示图像没有任何问题之前,它工作正常,现在我不仅要返回图像,还要返回来自的 id同样的方法,这就是为什么我从“Image”类型更改为 PAIR 的原因,但我不明白如何划分从该方法返回的两个变量:

配对示例:

    public Pair<Integer,Image> image2()throws SQLException
        {
            int id;

            try {

                boolean anyResults = false;

                if (rs.next())
                {

                    anyResults = true;

                    Blob blob = rs.getBlob("image");

                    id = rs.getInt("id");


                    InputStream in = blob.getBinaryStream(1, blob.length());


                    BufferedImage image = ImageIO.read(in);


                    Image image1 = SwingFXUtils.toFXImage(image,null);


                    return new Pair<>(id, image1);

                }
                else if (!anyResults)
                {
                    JOptionPane.showMessageDialog(null, "Not Found");
                }


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

            return null;
        }

单击下一个按钮的方法示例:

public void NextButtomClicked() throws SQLException
    {
        //  this is what i used before =>   Image image1 = sql.image2();

        Pair<Integer, Image> image1 = sql.image2();

        this.imageView.setImage(image1);


    }

最佳答案

Pair<Integer, Image> pair = sql.image2();
Integer id = pair.getKey();
Image image = pair.getValue();
// now do what you want with id and image

您可能还应该处理 null 情况,因为您的方法可以返回它。

关于java - 尝试从方法返回两个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50527350/

相关文章:

java - 获取 : javafx. fxml.LoadException : No resources specified. 错误

java - 使用操作栏返回时应用程序意外停止

java - 尝试保存处理中 WavePlayers 的输出

java - 如何删除文本并打印java文件中删除的文本行中的行?

java - 集合 sort(List<T>,Comparator<? super T>) 方法示例

java - 使用 JavaFX e4 应用程序的类似项目浏览器的 View

javafx - 右键单击JavaFX?

java - 根据按钮单击初始化表格列

java - 何时使用 "suppressWhen(...)"或 "filter(...)"?

java - Java 如何决定具有相同名称但参数类型不同的方法?