22 package boyermooredemo;
24 import java.awt.Color;
25 import java.util.TreeMap;
26 import javax.swing.JOptionPane;
27 import javax.swing.JTextPane;
28 import javax.swing.text.BadLocationException;
29 import javax.swing.text.Style;
30 import javax.swing.text.StyleConstants;
31 import javax.swing.text.StyledDocument;
69 usekTextu(
int zacatekUseku,
int delkaUseku, Color barva, Color barvaPozadi,
72 zacatek = zacatekUseku;
75 vychoziBarvaPozadi = barvaPozadi;
82 private TreeMap<Integer,usekTextu>
useky;
90 this.dokument = (StyledDocument)this.getDocument();
91 this.useky =
new TreeMap<Integer,usekTextu>();
101 this.dokument.remove(0,dokument.getLength());
102 }
catch (BadLocationException e) {
103 JOptionPane.showMessageDialog(
this,
"Došlo k chybě při úpravě pole s algoritmem.",
104 "Chyba",JOptionPane.ERROR_MESSAGE);
106 this.useky =
new TreeMap<Integer,usekTextu>();
118 public void pridejText(String vkladanyText, Color barva, Color barvaPozadi,
122 Style styl = this.dokument.addStyle(
"Styl" + this.pocetUseku, null);
124 StyleConstants.setFontFamily(styl,
"SansSerif");
126 StyleConstants.setFontSize(styl, 12);
128 StyleConstants.setForeground(styl, barva);
130 StyleConstants.setBackground(styl, barvaPozadi);
133 StyleConstants.setBold(styl,
true);
137 this.useky.put(this.pocetUseku,
new usekTextu(dokument.getLength(),
138 vkladanyText.length(),barva,barvaPozadi,tucnePismo));
143 dokument.insertString(dokument.getLength(), vkladanyText, styl);
144 }
catch (BadLocationException e) {
145 JOptionPane.showMessageDialog(
this,
"Došlo k chybě při vypisování algoritmu.",
146 "Chyba",JOptionPane.ERROR_MESSAGE);
157 public void nastavBarvu(
int cisloUseku, Color barva, Color barvaPozadi)
160 usekTextu informace = useky.get(cisloUseku);
162 dokument.removeStyle(
"Styl" + cisloUseku);
165 Style styl = this.dokument.addStyle(
"Styl" + cisloUseku, null);
167 StyleConstants.setFontFamily(styl,
"SansSerif");
169 StyleConstants.setFontSize(styl, 12);
171 StyleConstants.setForeground(styl, barva);
173 StyleConstants.setBackground(styl, barvaPozadi);
176 StyleConstants.setBold(styl,
true);
180 String textUseku =
"";
182 textUseku = dokument.getText(informace.
zacatek,informace.
delka);
184 dokument.insertString(informace.
zacatek, textUseku, styl);
185 }
catch (BadLocationException e) {
186 JOptionPane.showMessageDialog(
this,
"Došlo k chybě při vypisování algoritmu.",
187 "Chyba",JOptionPane.ERROR_MESSAGE);
200 usekTextu informace = useky.get(cisloUseku);
202 dokument.removeStyle(
"Styl" + cisloUseku);
205 Style styl = this.dokument.addStyle(
"Styl" + cisloUseku, null);
207 StyleConstants.setFontFamily(styl,
"SansSerif");
209 StyleConstants.setFontSize(styl, 12);
211 StyleConstants.setForeground(styl, informace.
vychoziBarva);
216 StyleConstants.setBold(styl,
true);
220 String textUseku =
"";
222 textUseku = dokument.getText(informace.
zacatek,informace.
delka);
224 dokument.insertString(informace.
zacatek, textUseku, styl);
225 }
catch (BadLocationException e) {
226 JOptionPane.showMessageDialog(
this,
"Došlo k chybě při vypisování algoritmu.",
227 "Chyba",JOptionPane.ERROR_MESSAGE);
void nastavVychoziBarvu(int cisloUseku)
Třída pro uchování informací o úseku textu.
usekTextu(int zacatekUseku, int delkaUseku, Color barva, Color barvaPozadi, boolean tucneP)
void pridejText(String vkladanyText, Color barva, Color barvaPozadi, boolean tucnePismo)
Textový panel s barevnými bloky textu.
void nastavBarvu(int cisloUseku, Color barva, Color barvaPozadi)
TreeMap< Integer, usekTextu > useky