1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
| public static void window( List<String> etudiant, List<String> profeseur){
JFrame window=new JFrame("fenetre");
JTextPane grandeZone = new JTexPane();
JTextPane grandeZone1 = new JTextPane();
JPanel surfTotPanel = new JPanel();
JPanel surfTotPanel2 = new JPanel();
JPanel container = new JPanel();
surfTotPanel.add(grandeZone);
surfTotPanel2.add(grandeZone1);
container.setLayout(new BorderLayout());
container.add(surfTotPanel2, BorderLayout.EAST);
container.add(surfTotPanel,BorderLayout.WEST);
window.setContentPane(container);
window.setVisible(true);
window.setSize(800,500);
StringBuilder texte = new StringBuilder(" etudiant ");
texte.append( "\n" );
StringBuilder texte1 = new StringBuilder(" professeur ");
texte1.append( "\n" );
for( String et : etudiant ) {
texte.append( "\n" ); // pour passer à la ligne suivante
texte.append( et ); // le texte de la ligne
}
// et à la fin :
grandeZone.setText(texte.toString());
grandeZone.getColorModel();
for( String prof : professeur ) {
texte1.append( "\n" );
texte1.append( prof); // le texte de la ligne
}
// et à la fin :
grandeZone1.setText(texte1.toString());
fonte = new Font("Andalus", Font.HANGING_BASELINE, tailleInitiale);
grandeZone.setFont(fonte);
grandeZone1.setFont(fonte);
}
private void colorWords(String[] strsToHighlight,String text,final StyledDocument doc, Color color, boolean bold){
for(String strToHL : strsToHighlight){
Pattern p = Pattern.compile(strToHL);
Matcher m = p.matcher(text);
while(m.find() == true){
MutableAttributeSet attri = new SimpleAttributeSet();
StyleConstants.setForeground(attri, color);
StyleConstants.setBold(attri, bold);
final int start = m.start();
final int end = m.end();
final int length = end-start;
final MutableAttributeSet style = attri;
SwingUtilities.invokeLater(new Runnable(){
public void run(){
doc.setCharacterAttributes(start, length, style, true);
}
});
}
}
}
/**
* Fonction qui recupere le texte d'un TextePane et lance le coloriage des mot a partir de ses tableau de mot
* @param c
*/
public void sQLHighlight(JTextPane grandeZone1) {
String[] strsToHighlightBleu = {"etudiant","professeur "};
String text = grandeZone1.getText().replaceAll("\n");
final StyledDocument doc = grandeZone1.getStyledDocument();
final MutableAttributeSet normal= new SimpleAttributeSet();
StyleConstants.setForeground(normal, Color.black);
StyleConstants.setBold(normal, false);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
doc.setCharacterAttributes(0, doc.getLength(), normal, true);
}
});
// colorWords(strsToHighlightFunction, text, doc, new Color(88,54,48), false);
colorWords(strsToHighlightBleu, text, doc, Color.blue, false);
//colorWords(strsToHighlightBlack, text, doc, Color.BLACK, true);
// colorWords(strsToHighlightLayer, text, doc, new Color(107,94,255)Color.blue, false);
// colorWords(strsToHighlightState, text, doc,new Color(59,176,23) , false);
}
} |
Partager