2016-08-10 3 views
0

JTextAreaにテキストをスタイルする方法があるかどうかは疑問でした。JTextAreaのスタイル付きコンテンツを表示

それぞれに異なるスタイルとコンテンツタイプを持つセグメントが含まれているテキスト行を挿入する必要があります。コンテンツタイプによって、関連するセグメントに利用可能なアクションが決定されます。

  • 私はJTextPaneのとJEditorPaneのを検討し、それらがあまりにも複雑見つけ、遅く、あまり私のニーズに適応。 私が思いついた最善の解決策は、BasicTextUIとPlainDocumentクラスを拡張することでした。

別の方法で行うことはできますか?パフォーマンスを向上させるためのアドバイスはありますか? ありがとうございます。

+0

コードを教えてください。また、なぜ 'JTextArea'の速度/性能を考慮する必要がありますか? – hamena314

+1

* "JTextAreaにテキストをスタイルする方法があるのか​​どうか疑問に思っていました。" *テキスト領域はプレーンテキストのみです。スタイル付きテキストをサポートする 'JEditorPane'または' JTextPane'を使用してください。 –

+0

@ hamena314ここにコードを投稿するには時間がかかりすぎます。コンポーネントには多くのデータが含まれ、コンポーネントを使用するアプリケーションには他の多くのものがあるため、速度とパフォーマンスが必要です。あなたはそれを持つことができますか? – whyn0t

答えて

2

私はJTextPaneのとJEditorPaneのを検討し、はい、まあそれはプログラミングの仕組みである

彼らはあまりにも複雑ました。もっと複雑なことをしたい場合は、より高度なコンポーネントを使用する必要があります。

JTextAreaは、使用が簡単なスタイルのテキストをサポートしていません。 JTextPaneはスタイル付きテキストをサポートしているため、「少し」複雑です。

JTextPaneは、各テキストグループに使用するスタイルをいくつか作成すると、それほど複雑ではありません。例:

JText textPane = new JTextPane(); 
textPane.setText("This is regular text""); 
StyledDocument doc = textPane.getStyledDocument(); 

// Add some styled text 

SimpleAttributeSet green = new SimpleAttributeSet(); 
StyleConstants.setForeground(green, Color.GREEN); 

try 
{ 
    doc.insertString(doc.getLength(), "\nThis is green text.", green); 
} 
catch(Exception e) { System.out.println(e); } 
関連する問題