2010-02-18 2 views
-1

Я хочу написать приложение для обмена сообщениями с java. Я хочу отправить смайлики. Я написал этот код, но он не работает.help для назначения java

public class MyClient extends JFrame implements IClient { 

...

JEditorPane editorPane=new JEditorPane(); 
final String SMILE = ClassLoader.getSystemClassLoader().getResource("images/1.gif").toString(); 

...

public void chat(String message) { 
     try { 
      StringBuffer bfr= new StringBuffer(message); 

      while(message.indexOf(":)") != -1) { 
       int index = message.indexOf(":)"); 
       bfr.replace(index,index+2,"<IMG SRC=\""+SMILE +"\">"); 
       message= bfr.toString(); 

      } 

try{ 
      editorPane.getEditorKit().read(new java.io.StringReader(message+"\n"), 
        editorPane.getDocument(), editorPane.getDocument().getLength()); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (BadLocationException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    editorPane.setCaretPosition(editorPane.getDocument().getLength()); 
    } 

... Но desnt показать SMILY в editorpane, выход: Это адрес, с которым Smily имеет были сохранены. я бросил такой код:

(HTMLEditorKit)editorPane.getEditorKit().read(new java.io.StringReader(message+"\n"), 
        editorPane.getDocument(), editorPane.getDocument().getLength()); 

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

ответ

0

Я вижу 2 варианта:

  1. вы определяете строку управления (например, в MSN), где :) становится смайлик GIF (для этого приемник должен иметь GIF тоже - так что я идти на папку, которая содержит все гифы)
  2. вы должны читать GIF-файл и передать содержимое файла на приемник, который может затем отобразить его (это более трудным решением)
0

нормально , я нашел ответ. я просто назначил HTMLEditorKit как мой редакторский редактор моей JEditorPane