在RMI中使用ImageIcon

时间:2012-06-20 16:53:54

标签: java rmi imageicon

我对java.swing.ImageIcon类的实例行为有一个简单的疑问。

现在它基于RMI客户端服务器操作......

假设 服务器计算机 中存在名为A.jpg jpg文件。 现在使用

检索它
           // At Server...
           ImageIcon ic = new ImageIcon("C://server_image_folder//A.jpg");
           return ic;

然后在功能

的客户端中使用它
           // At Client....
           // same variable name used for simplicity....
           System.out.print(ic);

我们会在此处观察它在服务器计算机中打印图像文件的URL。

此处,例如: - C:/server_image_folder/A.jpg

所以我的问题只是......

  Will it cause any trouble since such URL don't exist in client computer ?

localhost 等情况下无法观察到此类问题,因为两者共享相同的网址(我相信)。

但是, 当两个程序在不同的计算机上实现时,情况如何 .... ??

1 个答案:

答案 0 :(得分:1)

这不会导致问题,但可能会导致一些混乱。您正在使用的构造函数将单个arg视为文件名和描述。 filename字段是瞬态的,因此它不是序列化数据的一部分。但是,description字段不是瞬态的,而是序列化数据的一部分。由于toString方法将返回description字段(如果它为非空),因此可能会让您认为文件名也已保留,但它没有。