⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chatviewer.java

📁 简单的聊天系统chat,用java编写
💻 JAVA
字号:
\\ChatViewer.java  
   
  import   java.rmi.*;  
  import   java.rmi.server.*;  
  import   javax.swing.*;  
  import   java.io.*;  
  import   javax.swing.text.*;  
  import   javax.swing.text.html.*;  
  import   javax.swing.event.*;  
  import   java.text.*;  
  import   java.awt.*;  
   
  public   class   ChatViewer   extends   JComponent   implements   ChatViewerInterface,Serializable  
  {  
          JScrollPane   scrollpane;  
          JTextPane   viewer;  
          public   ChatViewer()  
          {  
    this.initializedComponent();  
            }  
          public   ChatViewer(String   inimsg)  
          {  
    this.initializedComponent();  
    this.viewer.setText(inimsg);  
            }  
          private   void   initializedComponent()  
          {  
           
    this.viewer   =   new   JTextPane();  
    this.viewer.setContentType("text/html;charset=gb2312");  
    this.viewer.setEditable(false);  
    this.viewer.addHyperlinkListener(new   LinkListener());    
    this.scrollpane   =   new   JScrollPane(this.viewer);  
    this.setLayout(new   BorderLayout());  
    this.add(this.scrollpane,BorderLayout.CENTER);  
    this.setVisible(true);  
     
            }  
          public   void   appendChatContent(String   msg)  
          {  
    HTMLEditorKit   kit   =   (HTMLEditorKit)(this.viewer.getEditorKit());  
    Document   doc   =   this.viewer.getDocument();  
    StringReader   reader   =   new   StringReader(msg);  
    try{  
      kit.read(reader,doc,doc.getLength());          
      }catch(Exception   e){System.out.println("chat   content   \""+msg+"\"   lost..");}  
   
    if(this.viewer.getSelectedText()==null||this.viewer.getSelectedText().trim().length()==0)  
    {        
      this.viewer.select(this.viewer.getText().length(),this.viewer.getText().length());  
      }  
            }  
          public   void   sendToServer()  
          {  
    try{  
            UnicastRemoteObject.exportObject((ChatViewerInterface)this);  
            }catch(Exception   e){  
                        System.out.println("send   object   to   server   error:   "+e.getMessage());  
                        }  
            }  
  class   LinkListener   implements   HyperlinkListener  
  {  
          public   void   hyperlinkUpdate(HyperlinkEvent   e)  
          {                
              if(e.getEventType()   ==   HyperlinkEvent.EventType.ACTIVATED)  
              {                      
    if(e   instanceof   HTMLFrameHyperlinkEvent)  
    {    
        HTMLFrameHyperlinkEvent   evt   =   (HTMLFrameHyperlinkEvent)e;  
        HTMLDocument   doc   =   (HTMLDocument)(viewer.getDocument());    
        doc.processHTMLFrameHyperlinkEvent(evt);  
    }  
    else  
    {    
          try   {  
          Runtime.getRuntime().exec("explorer   "+e.getURL());                              
        }  
        catch(Exception   ioe)     {  
            //MessageDialog.showMessage(null,INFORMATION,UNSUPPORTED_BROWSER);  
        }  
    }    
              }    
          }    
    }    
  }   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -