【问题标题】:Store and view images in JAVA database - Netbeans在 JAVA 数据库中存储和查看图像 - Netbeans
【发布时间】:2014-06-05 02:48:59
【问题描述】:

我正在使用 JAVA 和 Netbeans 创建一个简单的照片目录。我的基本 Swing 布局一切正常,我可以在数据库中存储和检索文本/数字等,增量记录等。这一切都很好。

我真的不知道如何存储图像并在 jFrame 中查看它们。

我想将图像存储为我认为(而不是 BLOB)我认为更好的文件路径?

我目前正在使用 getText 和 setText 在表单上显示数据库条目,这一切都很好。如下:

String location = rs.getString("Location");

textLocation.setText(location);

我正在使用 JavaDB derby 数据库连接。

我搜索了一个教程,但运气不佳。有来自图像等的学生,但实际上并不知道如何从数据库中存储/检索它们。

如果有人能指出我正确的方向或一个很好的教程,那就太好了。

* 更新 *

感谢您的帮助。我以为我会分享最终的工作结果。

设置图片文件夹位置的路径:

private static final String PATH = "/images/";

分配字符串

String image = rs.getString("ImageURL");

将图像添加到标签

image_label.setIcon(new javax.swing.ImageIcon(getClass().getResource(PATH + image)));

再次感谢。

【问题讨论】:

  • 谢谢,但这只是为了显示图像。我想从数据库中存储/检索。那也是 Eclipse IDE 而不是 Netbeans。不过谢谢
  • Java 不在乎你使用什么 IDE。另外,您已经说过要存储文件名,所以您已经回答了那部分。
  • 1.您在数据库中存储的文件路径是什么 2. 您的文件在系统上的什么位置? 3. 显示您尝试加载图像的代码。 4. 您是否需要将这些图像嵌入到程序中,或者程序是否依赖于您的特定文件系统?你到底遇到了什么问题?

标签: java database image netbeans catalog


【解决方案1】:

需要考虑的事项,(如果您的图像文件是嵌入式资源,并且不依赖于您的文件系统)

  1. 您将如何存储图像路径?您可以简单地存储文件名image.png

  2. 您最终将使用什么完整的文件路径。有一个设置的路径(不包括图像文件名),并基于您将使用的路径的应用程序文件结构,并与图像文件名连接。示例

    ProjectRoot
             src
                resources
                       images
                            image.png
    
    private static final String PATH = "/resources/images/";
    
  3. 您将如何加载图像。您应该使用getClass().getResource() 从类路径中读取图像,然后您可以将图像加载到ImageIcon 并最终将它们添加到JLabel。示例

    String location = rs.getString("Location");
    Image image = ImageIO.read(getClass().getResource(PATH + location));
    ImageIcon icon = new ImageIcon(image);
    JLabel label = new JLabel(icon);
    // add label to something.
    

【讨论】:

  • 感谢您 - 非常有帮助。 1. 我打算按照建议将文件名存储在数据库中(即 image.png)。 2. 图片的路径将是您建议的名为“images”的文件夹。 3. 这是我将要做的工作,因为它对我来说是未知的......
  • 我也读过 Netbeans 只能存储 .png 文件。它是否正确?因为如果是这样,这将是一个问题......
  • 不,你为什么会这样想?这不是 Netbenas 存储它的问题。 Java 是否会阅读它是一个问题。这也适用于 jpg、gif、.bmp .tiff。不确定所有其他支持的文件。 Netbeans 应该对您的应用程序没有影响。它只是一个开发工具。
猜你喜欢
  • 1970-01-01
  • 2019-08-08
  • 2013-02-09
  • 1970-01-01
  • 2012-04-12
  • 2011-02-16
  • 2020-10-17
  • 2012-10-17
  • 1970-01-01
相关资源
最近更新 更多