我对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 等情况下无法观察到此类问题,因为两者共享相同的网址(我相信)。
但是, 当两个程序在不同的计算机上实现时,情况如何 .... ??
答案 0 :(得分:1)
这不会导致问题,但可能会导致一些混乱。您正在使用的构造函数将单个arg视为文件名和描述。 filename
字段是瞬态的,因此它不是序列化数据的一部分。但是,description
字段不是瞬态的,而是序列化数据的一部分。由于toString
方法将返回description
字段(如果它为非空),因此可能会让您认为文件名也已保留,但它没有。