title: Apply color for Selected Text using JTextPane
body: <p>I want to display selected text with user selected text color.I had select some text and click on settextcolor it was applied to all the text present in JTextPane not selected text.I want apply the color to selected text only.Please help me.. 
  Here is my code:</p>
  
  <pre><code>public class SetTextColor extends javax.swing.JFrame {
  
      int i=0;
      JTextPane textPane;
      JScrollPane scrollPane;
  
      public SetTextColor() {
          initComponents();
      }
  
      @SuppressWarnings("unchecked")
      // &lt;editor-fold defaultstate="collapsed" desc="Generated Code"&gt;                          
      private void initComponents() {
  
          tabbedPane = new javax.swing.JTabbedPane();
          jMenuBar1 = new javax.swing.JMenuBar();
          jMenu1 = new javax.swing.JMenu();
          Create = new javax.swing.JMenuItem();
          SetTextColor = new javax.swing.JMenuItem();
  
          setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  
          jMenu1.setText("File");
  
          Create.setText("Create");
          Create.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  CreateActionPerformed(evt);
              }
          });
          jMenu1.add(Create);
  
          SetTextColor.setText("SetTextColor");
          SetTextColor.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  SetTextColorActionPerformed(evt);
              }
          });
          jMenu1.add(SetTextColor);
  
          jMenuBar1.add(jMenu1);
  
          setJMenuBar(jMenuBar1);
  
          javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
          getContentPane().setLayout(layout);
          layout.setHorizontalGroup(
              layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
              .addComponent(tabbedPane, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
          );
          layout.setVerticalGroup(
              layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
              .addComponent(tabbedPane, javax.swing.GroupLayout.DEFAULT_SIZE, 298, Short.MAX_VALUE)
          );
  
          pack();
      }// &lt;/editor-fold&gt;                        
  
      private void CreateActionPerformed(java.awt.event.ActionEvent evt) {                                       
         final JInternalFrame internalFrame = new JInternalFrame("");
          i++;
          internalFrame.setName("Document"+i);
          internalFrame.setClosable(true);
          internalFrame.setAutoscrolls(true);
          textPane=new JTextPane();
          textPane.setFont(new java.awt.Font("Miriam Fixed", 0, 13));
          scrollPane=new JScrollPane(textPane);
          internalFrame.add(scrollPane);
          tabbedPane.add(internalFrame);
          internalFrame.setSize(internalFrame.getMaximumSize());
          internalFrame.pack();
          internalFrame.setVisible(true);
      }                                      
  
      private void SetTextColorActionPerformed(java.awt.event.ActionEvent evt) {                                             
         Color color = JColorChooser.showDialog(this, "Colors",Color.BLUE);
          StyledDocument doc = textPane.getStyledDocument();
          String text=textPane.getSelectedText();
          Style style = textPane.addStyle("I'm a Style", null);
          StyleConstants.setForeground(style, color);
          textPane.setForeground(color);
      }                                            
      public static void main(String args[]) {
          /* Set the Nimbus look and feel */
          //&lt;editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "&gt;
          /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
           * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
           */
          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 ex) {
              java.util.logging.Logger.getLogger(SetTextColor.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
          } catch (InstantiationException ex) {
              java.util.logging.Logger.getLogger(SetTextColor.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
          } catch (IllegalAccessException ex) {
              java.util.logging.Logger.getLogger(SetTextColor.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
          } catch (javax.swing.UnsupportedLookAndFeelException ex) {
              java.util.logging.Logger.getLogger(SetTextColor.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
          }
          //&lt;/editor-fold&gt;
  
          /* Create and display the form */
          java.awt.EventQueue.invokeLater(new Runnable() {
              @Override
              public void run() {
                  new SetTextColor().setVisible(true);
              }
          });
      }
      // Variables declaration - do not modify                     
      private javax.swing.JMenuItem Create;
      private javax.swing.JMenuItem SetTextColor;
      private javax.swing.JMenu jMenu1;
      private javax.swing.JMenuBar jMenuBar1;
      private javax.swing.JTabbedPane tabbedPane;
      // End of variables declaration                   
  }
  </code></pre>