2011-03-16 7 views
10

मैं जावा स्विंग में चैट एप्लिकेशन विकसित कर रहा हूं जिसमें मैं मुस्कुराहट जोड़ना चाहूंगा, क्या कोई मेरी मदद कर सकता है?जावा स्विंग में मुस्कुराहट कैसे जोड़ें?

+0

आपको लगता है कि अधिक से अधिक विशिष्ट होना ... जब तक आप 'System.out.print (" :-) ") की तरह समाधान के साथ खुश हैं की आवश्यकता होगी;'। –

+0

ठीक है, सामूहिक मुस्कान gtalk या याहू संदेशवाहक के रूप में? – harishtps

उत्तर

6
+0

क्षमा करें StanislavL, मुझे याद नहीं आया कि मैंने उस कोड को कहाँ से कॉपी किया था। मैंने स्रोत की मेरी प्रतिलिपि में वेबसाइट संदर्भ जोड़ा। – camickr

+0

धन्यवाद। मुझे लगता है कि आपका कोड थोड़ा अलग है। एक और छवि और एक और ट्रिगर सेट कर रहे हैं। छवि को एक बार बनाने और संदर्भ को फिर से बनाने के बजाय संदर्भ पारित करना बेहतर होगा। लेकिन निश्चित रूप से यह दोनों तरह से काम करता है :) – StanislavL

3

आप इन यूनिकोड वर्ण कॉपी और उन्हें इस्तेमाल कर सकते हैं: ☺ ☻

जावा तार में, इन "\u263a" और "\u263b" हो जाएगा।

+0

क्या इसके लिए कोई अलग जार नहीं है? – harishtps

+0

@harishtps: नहीं जार; आवश्यक ग्लिफ के साथ बस एक फ़ॉन्ट। यहां एक [उदाहरण] है (http://sites.google.com/site/drjohnbmatthews/buttons)। – trashgod

7

यहां कुछ सरल कोड है जो मुझे वेब पर बहुत समय पहले मिला था। मुझे वास्तव में पसंद नहीं है कि एक कैरेट श्रोता का उपयोग करता है। आपको शायद एक दस्तावेज़ लिस्टनर या दस्तावेज़फिल्टर का उपयोग करना चाहिए। लेकिन यह आपको एक विचार देगा कि आप स्माइली का प्रतिनिधित्व करने के लिए कस्टम आइकन का उपयोग कैसे कर सकते हैं।

import java.awt.*; 
import java.awt.image.*; 
import javax.swing.*; 
import javax.swing.event.*; 
import javax.swing.text.*; 

public class Smiley 
    extends JFrame { 
    //autoreplacing :) with picture 
    JTextPane p = new JTextPane(); 
    public Smiley() throws Exception { 
     p.setEditorKit(new StyledEditorKit()); 
     getContentPane().add(p, BorderLayout.CENTER); 
     SimpleAttributeSet attrs = new SimpleAttributeSet(); 
     StyleConstants.setIcon(attrs, getImage()); 
     p.addCaretListener(new CaretListener() { 
      public void caretUpdate(CaretEvent e) { 
       SwingUtilities.invokeLater(new Runnable() { 
        public void run() { 
         try { 
          StyledDocument doc = (StyledDocument) p.getDocument(); 
          String text = doc.getText(0, p.getDocument().getLength()); 
          int index = text.indexOf(":)"); 
          int start = 0; 
          while (index > -1) { 
           Element el = doc.getCharacterElement(index); 
           if (StyleConstants.getIcon(el.getAttributes()) == null) { 
            doc.remove(index, 2); 
            SimpleAttributeSet attrs = new SimpleAttributeSet(); 
            StyleConstants.setIcon(attrs, getImage()); 
            doc.insertString(index, ":)", attrs); 
           } 
           start = index + 2; 
           index = text.indexOf(":)", start); 
          } 
         } 
         catch (Exception ex) { 
          ex.printStackTrace(); 
         } 
        } 
       }); 
      } 
     }); 
     this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     this.setSize(400, 400); 
    } 

    public static void main(String[] args) throws Exception { 
     Smiley test11 = new Smiley(); 
     test11.show(); 
    } 

    protected ImageIcon getImage() { 
     BufferedImage bi = new BufferedImage(15, 15, BufferedImage.TYPE_INT_ARGB); 
     Graphics g = bi.getGraphics(); 
     g.setColor(Color.red); 
     g.drawOval(0, 0, 14, 14); 
     g.drawLine(4, 9, 9, 9); 
     g.drawOval(4, 4, 1, 1); 
     g.drawOval(10, 4, 1, 1); 
     return new ImageIcon(bi); 
    } 
} 
+0

आपको स्टैनिस्लाव के उत्तर को स्वीकार करना चाहिए क्योंकि वह कोड का मूल लेखक है। – camickr

-1
import java.awt.*; 
public class SmileyFace { 

    public static void main(String[] args){ 


     Frame f = new Frame("Smile Face"); 
     f.setSize(500, 500); 
     f.setVisible(true); 

     Graphics g; 
     g = f.getGraphics(); 


     while (true) 
     { 
      g.setColor(Color.black); 
      g.drawOval(100, 100, 100, 100); 
      g.setColor(Color.blue); 
      g.fillOval(120, 130, 20, 20); 
      g.fillOval(160, 130, 20, 20); 
      g.setColor(Color.blue); 
      g.setColor(Color.red); 
      g.drawLine(130, 170, 135, 175); 
      g.drawLine(135, 175, 163, 175); 
      g.drawLine(163, 175, 168, 170); 
      g.setColor(Color.green); 
      g.drawString("Hello", 210, 190); 



     } 


    } 
} 
+0

सुंदर ............ –

संबंधित मुद्दे