# rmi -> imageIcon



## Guest (13. Feb 2007)

hi,
ich habe einen server auf dem ich mit bildern arbeite. nun möchte ich gerne das wenn der client daten abruft, das auch die bilder im client angezeigt werden.
die bilder auf dem server lasse ich mir als imageicon im jlabel anzeigen. wie übertrage ich nun aber das bild zum client so das es angezeigt werden kann?!

danke für jeden tip!!


----------



## doctus (13. Feb 2007)

der server bekommt die methode:


```
public JLabel getImage(){
return NameDeines Labels;
}
```

Diese kannst du ja dank rmi auch vom Clienten aufrufen. somit bekommst du dann das JLabel mit dem Bild.


----------



## Guest (13. Feb 2007)

hi...
danke für die antwort... das hat geklappt...
nun möchte ich auch gerne von den clients neue bilder zum server übertragen.

habe versucht ein File-Objekt zu übergeben

```
public void writeFile(File strFile) throws RemoteException {
      serverGUI.writeFile(strFile);
      return;
    }
```

da bekomme ich jedcoh folgende fehler meldung:

Exception in thread "AWT-EventQueue-0" java.nio.channels.NonReadableChannelException
        at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:719)
        at sun.nio.ch.FileChannelImpl.transferFromFileChannel(FileChannelImpl.java:540)
        at sun.nio.ch.FileChannelImpl.transferFrom(FileChannelImpl.java:603)
        at GWH_serverGUI.writeFile(GWH_serverGUI.java:3021)
        at GWH_server.writeFile(GWH_server.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
        at sun.rmi.transport.Transport$1.run(Transport.java:153)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
        at java.lang.Thread.run(Thread.java:595)
        at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
        at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
        at GWH_server_Stub.writeFile(Unknown Source)
        at GWH_client.writeFile(GWH_client.java:171)
        at GWH_clientGUI.writeFile(GWH_clientGUI.java:1879)
        at GWH_clientGUI$2.actionPerformed(GWH_clientGUI.java:948)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:5488)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
        at java.awt.Component.processEvent(Component.java:5253)
        at java.awt.Container.processEvent(Container.java:1966)
        at java.awt.Component.dispatchEventImpl(Component.java:3955)
        at java.awt.Container.dispatchEventImpl(Container.java:2024)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
        at java.awt.Container.dispatchEventImpl(Container.java:2010)
        at java.awt.Window.dispatchEventImpl(Window.java:1778)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)



? was mache ich denn nun wieder falsch. File implements Serilizable...

oder gibt es vielleicht auch eine andere möglichkeit die datei auf den server zu bekommen?!

danke für jede hilfe... 
 :bahnhof:


----------



## Guest (13. Feb 2007)

sorry... mein fehler...

das File kommt an, nur wie schreibe ich es nun auf die platte?!


```
public void writeFile(File strFile) {
...
```

 :autsch: irgendwie steh ich auf'm schlau...


----------

