2012-06-20 2 views
0

Ну, у меня есть простые сомнения относительно поведения экземпляра класса java.swing.ImageIcon.с использованием ImageIcon в RMI

Теперь он основан на работе сервера клиент RMI ......

Пусть существует JPG файл под названием A.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 ? 

такая проблема не может наблюдаться в ситуации, как локальный, так как одни и те же URL (я считаю).

Но Что о состоянии, когда обе программы реализуются в отдельных компьютерах .... ??

+1

* «Я не могу практически проверить ситуацию ...» * Как практично разрабатывать код на основе RMI без двух компьютеров или среды, которые могут эмулировать два? –

+1

'new ImageIcon (" .../../A.jpg ");' BTW - '.' означает текущий каталог,' ..' означает родительский каталог, но что означает '...'? Это ново для меня. –

+0

это просто показать, где находится каталог u ... это все .... приятель проблема проста ..... imageicon экземпляр содержит URL-адрес изображения на серверном компьютере ... но u принесите экземпляр для клиента, использующего rmi ... этот URL-адрес не существует (так как u привел его в другую систему) .... так что создаст любую проблему ..... ?? –

ответ

1

Это не вызывает проблем, но может привести к некоторой путанице. Используемый вами конструктор рассматривает один аргумент как имя файла, так и описание. Поле filename является временным, поэтому оно не является частью сериализованных данных. Однако поле description не является переходным и будет частью сериализованных данных. Так как метод toString вернет поле description, если оно не пустое, это может заставить вас думать, что имя файла также сохранено, но это не так.

+0

, так что вы говорите ..... он выиграл ' t вызвать любую проблему .... и напечатанная строка, которую я нашел, является просто описанием и не имеет никакого отношения к URL ..... я получу изображение, как я хотел, в сценарии реализации клиента и сервера в отдельных системах ..... это так .... ?? –

+0

Это правильно. ImageIcon использует методы writeObject и readObject, чтобы поддерживать ширину, высоту и пиксельные данные базового изображения. – kschneid

+0

хорошо ... спасибо ... приятель ... я продолжу ... надеюсь, что это правильно .... есть галочка с моей стороны ...Также, пожалуйста, проголосуйте за мой вопрос, если вы чувствуете, что этого достаточно. –

Смежные вопросы