<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Fjavax.swing%2FJTextPane</id>
		<title>Java by API/javax.swing/JTextPane - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Fjavax.swing%2FJTextPane"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/javax.swing/JTextPane&amp;action=history"/>
		<updated>2026-04-21T11:46:31Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_by_API/javax.swing/JTextPane&amp;diff=611&amp;oldid=prev</id>
		<title> в 17:43, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/javax.swing/JTextPane&amp;diff=611&amp;oldid=prev"/>
				<updated>2010-05-31T17:43:48Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 17:43, 31 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_by_API/javax.swing/JTextPane&amp;diff=612&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/javax.swing/JTextPane&amp;diff=612&amp;oldid=prev"/>
				<updated>2010-05-31T14:18:35Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== JTextPane: getDocument() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.Color;&lt;br /&gt;
import java.awt.Container;&lt;br /&gt;
import java.awt.Font;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTextPane;&lt;br /&gt;
import javax.swing.text.AttributeSet;&lt;br /&gt;
import javax.swing.text.BadLocationException;&lt;br /&gt;
import javax.swing.text.Document;&lt;br /&gt;
import javax.swing.text.SimpleAttributeSet;&lt;br /&gt;
import javax.swing.text.StyleConstants;&lt;br /&gt;
public class MainClass extends JFrame {&lt;br /&gt;
  private JTextPane textPane = new JTextPane();&lt;br /&gt;
  public MainClass() {&lt;br /&gt;
    super();&lt;br /&gt;
    setSize(300, 200);&lt;br /&gt;
    textPane.setFont(new Font(&amp;quot;Serif&amp;quot;, Font.PLAIN, 24));&lt;br /&gt;
    // create some handy attribute sets&lt;br /&gt;
    SimpleAttributeSet red = new SimpleAttributeSet();&lt;br /&gt;
    StyleConstants.setForeground(red, Color.red);&lt;br /&gt;
    StyleConstants.setBold(red, true);&lt;br /&gt;
    SimpleAttributeSet blue = new SimpleAttributeSet();&lt;br /&gt;
    StyleConstants.setForeground(blue, Color.blue);&lt;br /&gt;
    SimpleAttributeSet italic = new SimpleAttributeSet();&lt;br /&gt;
    StyleConstants.setItalic(italic, true);&lt;br /&gt;
    StyleConstants.setForeground(italic, Color.orange);&lt;br /&gt;
    // add the text&lt;br /&gt;
    append(&amp;quot;NULL &amp;quot;, null);&lt;br /&gt;
    append(&amp;quot;Blue&amp;quot;, blue);&lt;br /&gt;
    append(&amp;quot;italic&amp;quot;, italic);&lt;br /&gt;
    append(&amp;quot;red&amp;quot;, red);&lt;br /&gt;
    Container content = getContentPane();&lt;br /&gt;
    content.add(new JScrollPane(textPane), BorderLayout.CENTER);&lt;br /&gt;
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
  }&lt;br /&gt;
  protected void append(String s, AttributeSet attributes) {&lt;br /&gt;
    Document d = textPane.getDocument();&lt;br /&gt;
    try {&lt;br /&gt;
      d.insertString(d.getLength(), s, attributes);&lt;br /&gt;
    } catch (BadLocationException ble) {&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    new MainClass().setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JTextPane: getStyledDocument() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
import java.awt.Color;&lt;br /&gt;
import javax.swing.JTextPane;&lt;br /&gt;
import javax.swing.text.Style;&lt;br /&gt;
import javax.swing.text.StyleConstants;&lt;br /&gt;
import javax.swing.text.StyledDocument;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JTextPane textPane = new JTextPane();&lt;br /&gt;
    StyledDocument doc = textPane.getStyledDocument();&lt;br /&gt;
    // Makes text red&lt;br /&gt;
    Style style = textPane.addStyle(&amp;quot;Red&amp;quot;, null);&lt;br /&gt;
    StyleConstants.setForeground(style, Color.red);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JTextPane: insertComponent(Component c) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.awt.BorderLayout;&lt;br /&gt;
import javax.swing.ImageIcon;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JTextPane;&lt;br /&gt;
public class PaneInsertionMethods {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    final JTextPane pane = new JTextPane();&lt;br /&gt;
    pane.replaceSelection(&amp;quot;text&amp;quot;);&lt;br /&gt;
    pane.insertIcon(new ImageIcon(&amp;quot;imageName.gif&amp;quot;));&lt;br /&gt;
    pane.insertComponent(new JButton(&amp;quot;Click Me&amp;quot;));&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    frame.getContentPane().add(pane, BorderLayout.CENTER);&lt;br /&gt;
    frame.setSize(360, 180);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JTextPane: insertIcon(Icon g) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.awt.BorderLayout;&lt;br /&gt;
import javax.swing.ImageIcon;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JTextPane;&lt;br /&gt;
public class PaneInsertionMethods {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    final JTextPane pane = new JTextPane();&lt;br /&gt;
    pane.replaceSelection(&amp;quot;text&amp;quot;);&lt;br /&gt;
    pane.insertIcon(new ImageIcon(&amp;quot;imageName.gif&amp;quot;));&lt;br /&gt;
    pane.insertComponent(new JButton(&amp;quot;Click Me&amp;quot;));&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    frame.getContentPane().add(pane, BorderLayout.CENTER);&lt;br /&gt;
    frame.setSize(360, 180);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JTextPane: replaceSelection(String content) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.awt.Color;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTextPane;&lt;br /&gt;
import javax.swing.text.AttributeSet;&lt;br /&gt;
import javax.swing.text.SimpleAttributeSet;&lt;br /&gt;
import javax.swing.text.StyleConstants;&lt;br /&gt;
import javax.swing.text.StyleContext;&lt;br /&gt;
public class MainClass{&lt;br /&gt;
  public static void main(String argv[]) {&lt;br /&gt;
    ColorPane pane = new ColorPane();&lt;br /&gt;
    for (int n = 1; n &amp;lt;= 400; n += 1) {&lt;br /&gt;
      if (isPrime(n)) {&lt;br /&gt;
        pane.append(Color.red, String.valueOf(n) + &amp;quot; &amp;quot;);&lt;br /&gt;
      } else if (isPerfectSquare(n)) {&lt;br /&gt;
        pane.append(Color.blue, String.valueOf(n) + &amp;quot; &amp;quot;);&lt;br /&gt;
      } else {&lt;br /&gt;
        pane.append(Color.black, String.valueOf(n) + &amp;quot; &amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    JFrame f = new JFrame(&amp;quot;ColorPane example&amp;quot;);&lt;br /&gt;
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    f.setContentPane(new JScrollPane(pane));&lt;br /&gt;
    f.setSize(600, 400);&lt;br /&gt;
    f.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public static boolean isPrime(int n) {&lt;br /&gt;
    if (n &amp;lt; 2)&lt;br /&gt;
      return false;&lt;br /&gt;
    double max = Math.sqrt(n);&lt;br /&gt;
    for (int j = 2; j &amp;lt;= max; j += 1)&lt;br /&gt;
      if (n % j == 0)&lt;br /&gt;
        return false; // j is a factor&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  public static boolean isPerfectSquare(int n) {&lt;br /&gt;
    int j = 1;&lt;br /&gt;
    while (j * j &amp;lt; n &amp;amp;&amp;amp; j * j &amp;gt; 0)&lt;br /&gt;
      j += 1;&lt;br /&gt;
    return (j * j == n);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
class ColorPane extends JTextPane {&lt;br /&gt;
  public void appendNaive(Color c, String s) {&lt;br /&gt;
    SimpleAttributeSet aset = new SimpleAttributeSet();&lt;br /&gt;
    StyleConstants.setForeground(aset, c);&lt;br /&gt;
    int len = getText().length();&lt;br /&gt;
    setCaretPosition(len); &lt;br /&gt;
    setCharacterAttributes(aset, false);&lt;br /&gt;
    replaceSelection(s);&lt;br /&gt;
  }&lt;br /&gt;
  public void append(Color c, String s) {&lt;br /&gt;
    StyleContext sc = StyleContext.getDefaultStyleContext();&lt;br /&gt;
    AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, c);&lt;br /&gt;
    int len = getDocument().getLength();&lt;br /&gt;
    setCaretPosition(len); &lt;br /&gt;
    setCharacterAttributes(aset, false);&lt;br /&gt;
    replaceSelection(s); &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JTextPane: setCaretPosition(int position) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.awt.Color;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTextPane;&lt;br /&gt;
import javax.swing.text.AttributeSet;&lt;br /&gt;
import javax.swing.text.SimpleAttributeSet;&lt;br /&gt;
import javax.swing.text.StyleConstants;&lt;br /&gt;
import javax.swing.text.StyleContext;&lt;br /&gt;
public class MainClass{&lt;br /&gt;
  public static void main(String argv[]) {&lt;br /&gt;
    ColorPane pane = new ColorPane();&lt;br /&gt;
    for (int n = 1; n &amp;lt;= 400; n += 1) {&lt;br /&gt;
      if (isPrime(n)) {&lt;br /&gt;
        pane.append(Color.red, String.valueOf(n) + &amp;quot; &amp;quot;);&lt;br /&gt;
      } else if (isPerfectSquare(n)) {&lt;br /&gt;
        pane.append(Color.blue, String.valueOf(n) + &amp;quot; &amp;quot;);&lt;br /&gt;
      } else {&lt;br /&gt;
        pane.append(Color.black, String.valueOf(n) + &amp;quot; &amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    JFrame f = new JFrame(&amp;quot;ColorPane example&amp;quot;);&lt;br /&gt;
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    f.setContentPane(new JScrollPane(pane));&lt;br /&gt;
    f.setSize(600, 400);&lt;br /&gt;
    f.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public static boolean isPrime(int n) {&lt;br /&gt;
    if (n &amp;lt; 2)&lt;br /&gt;
      return false;&lt;br /&gt;
    double max = Math.sqrt(n);&lt;br /&gt;
    for (int j = 2; j &amp;lt;= max; j += 1)&lt;br /&gt;
      if (n % j == 0)&lt;br /&gt;
        return false; // j is a factor&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  public static boolean isPerfectSquare(int n) {&lt;br /&gt;
    int j = 1;&lt;br /&gt;
    while (j * j &amp;lt; n &amp;amp;&amp;amp; j * j &amp;gt; 0)&lt;br /&gt;
      j += 1;&lt;br /&gt;
    return (j * j == n);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
class ColorPane extends JTextPane {&lt;br /&gt;
  public void appendNaive(Color c, String s) {&lt;br /&gt;
    SimpleAttributeSet aset = new SimpleAttributeSet();&lt;br /&gt;
    StyleConstants.setForeground(aset, c);&lt;br /&gt;
    int len = getText().length();&lt;br /&gt;
    setCaretPosition(len); &lt;br /&gt;
    setCharacterAttributes(aset, false);&lt;br /&gt;
    replaceSelection(s);&lt;br /&gt;
  }&lt;br /&gt;
  public void append(Color c, String s) {&lt;br /&gt;
    StyleContext sc = StyleContext.getDefaultStyleContext();&lt;br /&gt;
    AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, c);&lt;br /&gt;
    int len = getDocument().getLength();&lt;br /&gt;
    setCaretPosition(len); &lt;br /&gt;
    setCharacterAttributes(aset, false);&lt;br /&gt;
    replaceSelection(s); &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JTextPane.setCharacterAttributes(AttributeSet attr, boolean replace) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.awt.Color;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTextPane;&lt;br /&gt;
import javax.swing.text.AttributeSet;&lt;br /&gt;
import javax.swing.text.SimpleAttributeSet;&lt;br /&gt;
import javax.swing.text.StyleConstants;&lt;br /&gt;
import javax.swing.text.StyleContext;&lt;br /&gt;
public class MainClass{&lt;br /&gt;
  public static void main(String argv[]) {&lt;br /&gt;
    ColorPane pane = new ColorPane();&lt;br /&gt;
    for (int n = 1; n &amp;lt;= 400; n += 1) {&lt;br /&gt;
      if (isPrime(n)) {&lt;br /&gt;
        pane.append(Color.red, String.valueOf(n) + &amp;quot; &amp;quot;);&lt;br /&gt;
      } else if (isPerfectSquare(n)) {&lt;br /&gt;
        pane.append(Color.blue, String.valueOf(n) + &amp;quot; &amp;quot;);&lt;br /&gt;
      } else {&lt;br /&gt;
        pane.append(Color.black, String.valueOf(n) + &amp;quot; &amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    JFrame f = new JFrame(&amp;quot;ColorPane example&amp;quot;);&lt;br /&gt;
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    f.setContentPane(new JScrollPane(pane));&lt;br /&gt;
    f.setSize(600, 400);&lt;br /&gt;
    f.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public static boolean isPrime(int n) {&lt;br /&gt;
    if (n &amp;lt; 2)&lt;br /&gt;
      return false;&lt;br /&gt;
    double max = Math.sqrt(n);&lt;br /&gt;
    for (int j = 2; j &amp;lt;= max; j += 1)&lt;br /&gt;
      if (n % j == 0)&lt;br /&gt;
        return false; // j is a factor&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  public static boolean isPerfectSquare(int n) {&lt;br /&gt;
    int j = 1;&lt;br /&gt;
    while (j * j &amp;lt; n &amp;amp;&amp;amp; j * j &amp;gt; 0)&lt;br /&gt;
      j += 1;&lt;br /&gt;
    return (j * j == n);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
class ColorPane extends JTextPane {&lt;br /&gt;
  public void appendNaive(Color c, String s) {&lt;br /&gt;
    SimpleAttributeSet aset = new SimpleAttributeSet();&lt;br /&gt;
    StyleConstants.setForeground(aset, c);&lt;br /&gt;
    int len = getText().length();&lt;br /&gt;
    setCaretPosition(len); &lt;br /&gt;
    setCharacterAttributes(aset, false);&lt;br /&gt;
    replaceSelection(s);&lt;br /&gt;
  }&lt;br /&gt;
  public void append(Color c, String s) {&lt;br /&gt;
    StyleContext sc = StyleContext.getDefaultStyleContext();&lt;br /&gt;
    AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, c);&lt;br /&gt;
    int len = getDocument().getLength();&lt;br /&gt;
    setCaretPosition(len); &lt;br /&gt;
    setCharacterAttributes(aset, false);&lt;br /&gt;
    replaceSelection(s); &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JTextPane: setFont(Font font) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.Color;&lt;br /&gt;
import java.awt.Container;&lt;br /&gt;
import java.awt.Font;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTextPane;&lt;br /&gt;
import javax.swing.text.AttributeSet;&lt;br /&gt;
import javax.swing.text.BadLocationException;&lt;br /&gt;
import javax.swing.text.Document;&lt;br /&gt;
import javax.swing.text.SimpleAttributeSet;&lt;br /&gt;
import javax.swing.text.StyleConstants;&lt;br /&gt;
public class MainClass extends JFrame {&lt;br /&gt;
  private JTextPane textPane = new JTextPane();&lt;br /&gt;
  public MainClass() {&lt;br /&gt;
    super();&lt;br /&gt;
    setSize(300, 200);&lt;br /&gt;
    textPane.setFont(new Font(&amp;quot;Serif&amp;quot;, Font.PLAIN, 24));&lt;br /&gt;
    // create some handy attribute sets&lt;br /&gt;
    SimpleAttributeSet red = new SimpleAttributeSet();&lt;br /&gt;
    StyleConstants.setForeground(red, Color.red);&lt;br /&gt;
    StyleConstants.setBold(red, true);&lt;br /&gt;
    SimpleAttributeSet blue = new SimpleAttributeSet();&lt;br /&gt;
    StyleConstants.setForeground(blue, Color.blue);&lt;br /&gt;
    SimpleAttributeSet italic = new SimpleAttributeSet();&lt;br /&gt;
    StyleConstants.setItalic(italic, true);&lt;br /&gt;
    StyleConstants.setForeground(italic, Color.orange);&lt;br /&gt;
    // add the text&lt;br /&gt;
    append(&amp;quot;NULL &amp;quot;, null);&lt;br /&gt;
    append(&amp;quot;Blue&amp;quot;, blue);&lt;br /&gt;
    append(&amp;quot;italic&amp;quot;, italic);&lt;br /&gt;
    append(&amp;quot;red&amp;quot;, red);&lt;br /&gt;
    Container content = getContentPane();&lt;br /&gt;
    content.add(new JScrollPane(textPane), BorderLayout.CENTER);&lt;br /&gt;
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
  }&lt;br /&gt;
  protected void append(String s, AttributeSet attributes) {&lt;br /&gt;
    Document d = textPane.getDocument();&lt;br /&gt;
    try {&lt;br /&gt;
      d.insertString(d.getLength(), s, attributes);&lt;br /&gt;
    } catch (BadLocationException ble) {&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    new MainClass().setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JTextPane: setLogicalStyle(Style s) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import javax.swing.JTextPane;&lt;br /&gt;
import javax.swing.text.Style;&lt;br /&gt;
import javax.swing.text.StyleConstants;&lt;br /&gt;
import javax.swing.text.TabSet;&lt;br /&gt;
import javax.swing.text.TabStop;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) {&lt;br /&gt;
      JTextPane textPane = new JTextPane();&lt;br /&gt;
    List list = new ArrayList();&lt;br /&gt;
    TabStop[] tstops = (TabStop[]) list.toArray(new TabStop[0]);&lt;br /&gt;
    TabSet tabs = new TabSet(tstops);&lt;br /&gt;
    Style style = textPane.getLogicalStyle();&lt;br /&gt;
    StyleConstants.setTabSet(style, tabs);&lt;br /&gt;
    textPane.setLogicalStyle(style);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JTextPane: setParagraphAttributes(AttributeSet attr, boolean replace) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTextPane;&lt;br /&gt;
import javax.swing.text.AttributeSet;&lt;br /&gt;
import javax.swing.text.SimpleAttributeSet;&lt;br /&gt;
import javax.swing.text.StyleConstants;&lt;br /&gt;
import javax.swing.text.StyleContext;&lt;br /&gt;
import javax.swing.text.TabSet;&lt;br /&gt;
import javax.swing.text.TabStop;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    JTextPane pane = new JTextPane();&lt;br /&gt;
    TabStop[] tabs = new TabStop[1];&lt;br /&gt;
    tabs[0] = new TabStop(60, TabStop.ALIGN_RIGHT, TabStop.LEAD_NONE);&lt;br /&gt;
    TabSet tabset = new TabSet(tabs);&lt;br /&gt;
    StyleContext sc = StyleContext.getDefaultStyleContext();&lt;br /&gt;
    AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY,&lt;br /&gt;
        StyleConstants.TabSet, tabset);&lt;br /&gt;
    pane.setParagraphAttributes(aset, false);&lt;br /&gt;
    pane.setText(&amp;quot;\tright\tleft\tcenter\tdecimal\n&amp;quot; + &amp;quot;\t1\t1\t1\t1.0\n&amp;quot;&lt;br /&gt;
        + &amp;quot;\t200.002\t200.002\t200.002\t200.002\n&amp;quot;&lt;br /&gt;
        + &amp;quot;\t.33\t.33\t.33\t.33\n&amp;quot;);&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;TabExample&amp;quot;);&lt;br /&gt;
    frame.setContentPane(new JScrollPane(pane));&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    frame.setSize(360, 120);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>