title: JTextPane: How to set the font size
body: <p>Please have a look at the following code</p>
  
  <pre><code>import java.awt.Color;  
  import java.awt.Dimension;  
  import java.awt.EventQueue;  
  import java.awt.FlowLayout;  
  import java.util.ArrayList;  
  import java.util.Scanner;  
  import javax.swing.*;  
  import javax.swing.event.DocumentEvent;  
  import javax.swing.event.DocumentListener;  
  import javax.swing.text.BadLocationException;  
  import javax.swing.text.Style;  
  import javax.swing.text.StyleConstants;  
  import javax.swing.text.StyledDocument;  
  
  public class Form extends JFrame  
  {  
      private JTextPane textPane;  
      private JLabel results;  
      private JPanel center,south;  
      private FlowLayout flow;  
      private ArrayList array;  
      private Color color;  
      private StyledDocument doc;  
      private Style style, fontSize;  
  
  
  
      public Form()  
      {  
          textPane = new JTextPane();  
          textPane.setMinimumSize(new Dimension(100,100));  
  
          doc = textPane.getStyledDocument();  
          doc.addDocumentListener(new TextActions());  
  
  
          results = new JLabel("Number of letters: ");  
  
          array = new ArrayList();   
          array.add("public");
          array.add("static");
          array.add("void");
          array.add("private");
          array.add("protected");
  
          color = new Color(185,224,247);  
  
          //Adding styles  
          style = doc.addStyle("blue", null);    
          StyleConstants.setForeground(style, color);    
  
  
           fontSize = doc.addStyle("fontSize", null);
           StyleConstants.setFontSize(fontSize, 25);
  
  
           //Setting the font Size
           doc.setCharacterAttributes(0, doc.getLength(), fontSize, false);
  
          center = new JPanel();  
          flow = new FlowLayout();  
  
          center.setLayout(flow);  
          center.add(textPane);  
  
          south = new JPanel();  
          south.setLayout(new FlowLayout());  
          south.add(results);  
  
          getContentPane().add(textPane,"Center");  
          getContentPane().add(south,"South");  
  
  
  
      }  
  
      private class TextActions implements DocumentListener   
      {  
          @Override  
          public void insertUpdate(DocumentEvent e)   
          {  
              try {  
                  highlighat();  
              } catch (BadLocationException ex) {  
                 ex.printStackTrace();  
              } 
          }  
  
          @Override  
          public void removeUpdate(DocumentEvent e)  
          {  
              try {  
                  highlighat();  
              } catch (BadLocationException ex) {  
                 ex.printStackTrace();  
              }  
          }  
  
          @Override  
          public void changedUpdate(DocumentEvent e)  
          {  
  
          }  
  
      }  
  
        private void highlighat()  throws BadLocationException  
       {    
  
          EventQueue.invokeLater(new Runnable()    
          {    
              public void run()    
              {    
                  String text = "";  
                  String content = null;  
                  try {  
                      content = doc.getText(0, doc.getLength()).toLowerCase();  
                  } catch (BadLocationException ex) {  
                      ex.printStackTrace();  
                  }  
              int last=0;  
  
              for(int i=0;i&lt;array.size();i++)  
              {  
                 text = array.get(i).toString();  
  
                 if(content.contains(text))  
                 {  
                      while((last=content.indexOf(text,last))!=-1)  
                      {                     
  
                         int end = last+text.length();  
  
                         doc.setCharacterAttributes(last, end, textPane.getStyle("blue"), true);    
  
                         last++;  
  
                       }  
  
                 }  
              }  
              }    
          }  
       );  
      }  
  
      public static void main(String[]args)  
      {  
          try  
          {  
              UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());  
          }  
          catch(Exception e)  
          {  
  
          }  
          Form f = new Form();  
          f.setVisible(true);  
          f.setSize(800,600);  
  
          f.validate();  
          f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
      }  
  }  
  </code></pre>
  
  <p>In there, I am also trying to set the font size to 25, but as you can see, it is not working. "textPane.setFont()" also didn't work. How can I set the font size correctly? Please help..</p>