2012-09-22 9 views
9
editorPane.setContentType("text/html");  
editorPane.setFont(new Font("Segoe UI", 0, 14)); 
editorPane.setText("Hello World"); 

में डिफ़ॉल्ट फ़ॉन्ट सेट करना यह टेक्स्ट का फ़ॉन्ट नहीं बदलता है। मुझे यह जानने की जरूरत है कि जेडडिटरपेन के लिए HTML संपादक किट के साथ डिफ़ॉल्ट फ़ॉन्ट कैसे सेट करें।जेडडिटरपेन

संपादित करें:

enter image description here

+4

कृपया अपना कोड टेक्स्ट प्रारूप में पोस्ट करें, न कि इसकी एक छवि, क्योंकि जो भी इसे जांचना चाहता है उसे लिखना है। यह विद्यालय नहीं है :) –

+0

एक [स्क्रीनशॉट] कैसे लें (http://meta.stackexchange.com/questions/99734/how-do-i-create-a-creenshot-to-illustrate-a- पद)। – trashgod

उत्तर

1

मैं अपने कोड देख लिया है, कोई समस्या नहीं होनी चाहिए। क्या आपने अन्य फोंट का परीक्षण किया है? कृपया "सेगो स्क्रिप्ट" फ़ॉन्ट आज़माएं और देखें कि क्या यह बदलता है।

संपादित करें: मैंने कोड को हल करने की कोशिश की है, यह मेरे लिए ठीक काम करता है। क्या आप सुनिश्चित हैं कि आपके द्वारा पोस्ट किया गया कोड बिल्कुल वही है जैसा आपने कार्यान्वित किया है?

editorPane.setContentType("text/html"); 
    editorPane.setFont(new Font("Segoe Script", 0, 14)); 
    editorPane.setText("it works!"); 

EDIT2: पालन आपका मुख्य विधि बदलें। यह निंबस लुक एंडफेल सेट करता है। मैंने अभी तक अन्य LookAndFeels की जांच नहीं की है।

public static void main(String[] args) 
{ 
    try 
    { 
     for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) 
     { 
      if ("Nimbus".equals(info.getName())) 
      { 
       javax.swing.UIManager.setLookAndFeel(info.getClassName()); 
       break; 
      } 
     } 
    } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) 
    { 
     java.util.logging.Logger.getLogger(EditorPaneDemo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } 

    java.awt.EventQueue.invokeLater(new Runnable() 
    { 
     @Override 
     public void run() 
     { 
      new EditorPaneDemo(); 
     } 
    }); 
} 
+1

कोड काम करता है, लेकिन फ़ॉन्ट अद्यतन नहीं है। – Sanjeev

+0

जैसा कि मैंने अपने संपादित उत्तर में उल्लेख किया है, सुनिश्चित करें कि आपने सटीक कोड –

+0

लागू किया है, कृपया अपलोड की गई छवि का निरीक्षण करें, क्योंकि टेक्स्ट फ़ॉन्ट सेगो स्क्रिप्ट का नहीं है। – Sanjeev

1

कोशिश

editorPane.setFont(new Font("Segoe UI", Font.PLAIN, 24)); 
नीचे

नीचे काम कर रहा है कोड:

import java.awt.BorderLayout; 
import java.awt.Color; 
import java.awt.Container; 
import java.awt.Font; 

import javax.swing.JFrame; 
import javax.swing.JScrollPane; 
import javax.swing.JTextPane; 
import javax.swing.text.AttributeSet; 
import javax.swing.text.BadLocationException; 
import javax.swing.text.Document; 
import javax.swing.text.SimpleAttributeSet; 
import javax.swing.text.StyleConstants; 

public class jeditorfont extends JFrame { 
    private JTextPane textPane = new JTextPane(); 

    public jeditorfont() { 
    super(); 
    setSize(300, 200); 

    textPane.setFont(new Font("Segoe UI", Font.PLAIN, 24)); 

    // create some handy attribute sets 
    SimpleAttributeSet red = new SimpleAttributeSet(); 
    StyleConstants.setForeground(red, Color.red); 
    StyleConstants.setBold(red, true); 
    SimpleAttributeSet blue = new SimpleAttributeSet(); 
    StyleConstants.setForeground(blue, Color.blue); 
    SimpleAttributeSet italic = new SimpleAttributeSet(); 
    StyleConstants.setItalic(italic, true); 
    StyleConstants.setForeground(italic, Color.orange); 

    // add the text 
    append("NULL ", null); 
    append("Blue", blue); 
    append("italic", italic); 
    append("red", red); 

    Container content = getContentPane(); 
    content.add(new JScrollPane(textPane), BorderLayout.CENTER); 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    } 

    protected void append(String s, AttributeSet attributes) { 
    Document d = textPane.getDocument(); 
    try { 
     d.insertString(d.getLength(), s, attributes); 
    } catch (BadLocationException ble) { 
    } 
    } 

    public static void main(String[] args) { 
    new jeditorfont().setVisible(true); 
    } 
} 

रेफरी: http://www.java2s.com/Code/JavaAPI/javax.swing/JTextPanesetFontFontfont.htm

+1

अच्छा लेकिन यह 'JTextPane' का एक उदाहरण है –

16

जब HTML प्रतिपादन, JEditorPane के फ़ॉन्ट अपनी शैली पत्रक के माध्यम से अपडेट करने की आवश्यकता:

JEditorPane editorPane = 
      new JEditorPane(new HTMLEditorKit().getContentType(),text); 
    editorPane.setText(text); 

    Font font = new Font("Segoe UI", Font.PLAIN, 24)); 
    String bodyRule = "body { font-family: " + font.getFamily() + "; " + 
      "font-size: " + font.getSize() + "pt; }"; 
    ((HTMLDocument)editorPane.getDocument()).getStyleSheet().addRule(bodyRule); 
19

प्रयास करें यह एक:

JEditorPane pane = new JEditorPane(); 
pane.putClientProperty(JEditorPane.HONOR_DISPLAY_PROPERTIES, Boolean.TRUE); 
pane.setFont(SOME_FONT); 

को de-सह-डे ब्लॉगर सभी क्रेडिट! स्रोत: http://de-co-de.blogspot.co.uk/2008/02/setting-font-in-jeditorpane.html

मैंने अभी इसका परीक्षण किया है। इसने जेडबेल

JEditorPane pane = new JEditorPane(); 
pane.putClientProperty(JEditorPane.HONOR_DISPLAY_PROPERTIES, Boolean.TRUE); 
pane.setFont(someOrdinaryLabel.getFont()); 

पूरी तरह से काम करता है।

1

जैसा कि आप HTML टूलकिट का उपयोग कर रहे हैं, आप मानक स्टाइल का उपयोग कर HTML में फ़ॉन्ट सेट कर सकते हैं। तो setText को इस तरह से बदलें:

editorPane.setText("<html><head><style>" + 
        "p {font-family: Segoe UI; font-size:14;}" + 
        "</style></head>" + 
        "<body><p>It Works!</p></body></html>"); 

और सेटफॉन्ट कथन को हटा दें।