Da giorni sto facendo ricerche su internet per colorare solo il testo selezionato, ho trovato suggerimenti di metodi che fanno tutt'altro e tutte le discussioni finivano senza una soluzione..
Bene io ho trovato la soluzione grazie ad O'relly.
Questo è il codice se a qualcuno interessa..
codice:
 public void setSelectText(Color c){
		
		 SimpleAttributeSet aset = new SimpleAttributeSet();
		  StyleConstants.setFontFamily(aset, resultName);
		 StyleConstants.setFontSize(aset, resultSize);
		 StyleConstants.setForeground(aset, c);
		 
		 if (style==Font.BOLD)
			 StyleConstants.setBold(aset, true);
		 if(style==Font.ITALIC)
			 StyleConstants.setItalic(aset, true);
		 
		 co.setCharacterAttributes(aset, false);
		 co.replaceSelection(co.getSelectedText());
	 }
Dove resultName, resultSize e style sono mie variabili globali, rispettivamente fontFamilyName, size e style.