問題タブ [styleddocument]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
137 参照

java - JTextPane のインデント部分

insertString を使用して jtextpane 内のテキストをインデントする方法はありますか? 私の質問はJTextPane インデントに似ていますが、insertString を使用することを非常に好む点が異なります

0 投票する
2 に答える
404 参照

highlighting - StyledDocumentは、ファイルの各行のindexofに追加のカウントを追加します

textPaneで文字列を検索すると、StyledDocを使用してtextPaneからテキストを取得するだけでなく、検索されて返される行番号ごとに追加のインデックスが取得されるという奇妙な問題があります(少なくともそのように見えます)。同じペインから同じテキストを取得します。1つはプレーンテキストからのもので、もう1つはスタイル付きドキュメントからのものです。私はここで何かが欠けていますか?使用している2つのバージョン間の変更点をできるだけ多くリストしてみます。

プレーンテキストバージョン:

スタイル付きドキュメントの詩(スタイルが適用されていない)

これが私が検索する方法です:

サンプルファイル:

そして私の蛍光ペン:

indexof()を使用してAltを検索すると、プレーンテキスト(返される内容)が40になり、スタイル付きドキュメントを使用して検索すると41になります。そして、Altが表示される追加の行ごとに、追加のインデックスを取得します(indexof()呼び出しは、3行目で必要とされるよりも2つ多く返されます)。これは、検出された追加の行ごとに発生します。明らかな何かが欠けていますか?(これをより小さな単一のクラスにプッシュして確認しやすくする必要がある場合は、後で時間があればこれを行うことができます)。

前もって感謝します...

0 投票する
1 に答える
624 参照

java - Javaのjtextareaのカスタムタブ

さまざまな長さの jtextarea でタブストップを設定する方法、

最初のタブは 4 を停止する必要があります

2 番目のタブは 20 で停止する必要があります (4 からタブを指定すると、20 で停止する必要があります)

3 番目のタブは 30 で停止する必要があります (0 からタブを指定すると、30 で停止する必要があります)

0 投票する
3 に答える
11413 参照

java - JTextPaneで各文字を異なる色/背景色に設定するにはどうすればよいですか?

私はこれをしばらく探していましたが、これまでに思いついたのは、スタイルを作成して次のようなキャラクターに適用する方法だけです。

これは、ドキュメントにスタイルが数個しかなく、後で簡単に適用できるように名前で保存する場合に便利です。私のアプリケーションでは、テキスト内のすべての文字に対して、前景色(数少ない値の1つ)と背景色(グレースケール、多くの異なる値)を個別に設定できるようにしたいと考えています。このために潜在的に数百/数千の異なるスタイルを作成することは大きな無駄のようです。毎回新しいスタイルを作成せずにこれらの属性を設定する方法はありますか?テキストをレンダリングするだけでよいのであれば、はるかに簡単ですが、編集可能にする必要もあります。でこれを行う方法はありますJTextPaneか、またはこの機能を提供する別のスイングクラスがありますか?

0 投票する
1 に答える
4761 参照

java - JTextPane テキストの背景色が機能しない

を使用して小さな HTML-wysiwyg を作成しようとしていますが、 を機能さJTextPaneせることができませんBackgroundAction。で使用setCharacterAttributesしていますがStyledDocumentJTextPane問題があるようです。ビューは大丈夫ですが、Documentそうではありません。

問題を示す小さなデモ コードを次に示します。2 ありますJTextPane:

  1. 最初のテキストでテキストの背景色を設定しました
  2. 最初のテキストを取得JTextPaneし、2 番目のテキストに設定します

    --> 同じテキストを持っていますが、同じものを示しているわけではありません。

現在選択されているテキストの背景色を設定し、JTextPaneレポートの HTML テキストを更新する方法はありますか?

出力結果(黒い枠はそれぞれの周りにありますJTextPane): 出力結果

0 投票する
1 に答える
1178 参照

java - StyledDocument First-in-Last-Out の一部を削除し、レイアウトを維持する

使用する自由な時間がかなりありましたが、JTextPane の一部としての StyledDocument に関する問題に遭遇しました。ドキュメントの合計サイズが値 x (私の場合は 10.000) に達したときに、テキストの最初の部分を削除したいと考えています。ただし、レイアウトが維持されていることが重要なので、最初に画像で何が起こるかを示してから、ソースを投稿します。

画像 1: 最大長にまだ達していない場合、水平スクロールバーはありません

画像 2: 最大長の 10.000 文字に達し、StyledDocument が styleddoc.getDocument().remove(0, maxsize); でトリミングされた場合。

http://i.stack.imgur.com/i10KZ.png【画像1】

http://i.stack.imgur.com/dUZ0K.png【画像2】

(大変申し訳ございませんが、こちらで初めての質問のため、スパム対策のため画像の掲載はお断りさせていただいております)

ご覧のとおり、水平スクロールバーが突然表示され、レイアウトが完全に台無しになり、削除前のようにテキストが収まらない場合、テキストがきれいに複数の行に分割されることはありません。

さて、これが私のソースです。この問題に対する天才的な解決策を見つけるのを手伝ってください。

私のプロジェクトの特定の部分の追加コードが必要な場合は、できるだけ早く教えてください

私が望む解決策は、StyledDocument の先頭にあるこのテキストの削除を実装し、配置された \n 文字を考慮に入れる必要があります。一部が削除されたとしてもです。スタイル付きのドキュメントの代わりに単純な「ドキュメント」を使用するなど、いくつかのことを試しましたが、チャットアプレットで色と絵文字の使用を実装する予定であるため、これはオプションではありません。

これを調べてくれたすべての人に事前に感謝します!可能な限りフォローします。

敬具、 スティーブン・カスターズ

PS .: StyledDocument の一部を削除するのはなぜですか? メモリ管理。これは、最大 200 人が同時に使用できるチャット アプレットの一部であるためです。全員が 10 秒ごとに何かを言うと、1 分後には 1200 件のメッセージが表示されるため、大量のメモリを使用します。これは、たとえば 10 時間続きます: 推定最大負荷として 720.000 メッセージ。(最悪のシナリオ(または最良のシナリオ、視点によって異なります))

0 投票する
3 に答える
3650 参照

java - StyledDocument の特定の文字列属性を変更する

テキストエディタを作ろうとしています。StyledDocument で JTextPane を使用しています。私が実装しようとしているのは、選択したテキストの属性を変更する方法です。

これは次のように機能します。ユーザーは目的のテキストを入力します。その後、文字列を選択してボタンを押すことで、任意の文字列の属性 (フォント ファミリー、フォント サイズ、太字/斜体かどうか) を変更できます。チェックボックスとドロップダウン リストを使用して、必要な変更を選択します。

ドキュメントを再構築せずに、選択した文字列の属性を変更することはできますか? 私は検索してきましたが、適切な解決策を見つけることができませんでした。

0 投票する
1 に答える
167 参照

java - ColorPane - 異なる文字の文字列を取得できますか?

私は現在、私に与えられた古いプロジェクトに取り組んでいます.現在、Javaスイングを使用しており、基本的なGUIがあります. Jtextpane を拡張して選択したテキストの色を変更する ColorPane があります。

このメソッドを使用します

string = "Hello World!" と言います。こんにちは、色は緑です 世界は黒です。Jtextpane の色に基づいて Hello を取得するにはどうすればよいですか。色を変更するときに選択した単語を保存するだけの不格好な方法を試しましたが、すべての緑色のテキストを一度に取得できる方法はありますか? 私はググってみましたが...本当に良い方法は思いつきませんでした。誰かが私を正しい方向に向けることができますか?

0 投票する
0 に答える
266 参照

java - StyledDocument または RTF ドキュメントから PDF への変換

PDF ファイルをStyledDocument直接または経由で取得するにはどうすればよいですか? RTFEditorKit現在、私は RTF ドキュメントを持っていて、このファイルAspose.Wordを PDF に変換しましたが、このライブラリにあまりお金をかけたくありません。OpenOffice や Microsoft Office API を使用しないソリューションが必要です。

0 投票する
1 に答える
782 参照

java - Null ポインター例外の問題

最初に、chatWindow という JTextArea を使用してインスタント メッセンジャーを作成しました。後で JTextPane に変更しました。スタイリング属性を追加した後、Eclipse のコンソールでヌル ポインター例外が発生しました。コンストラクターとメソッド クラスのコードは次のとおりです。

メイン メソッド クラスのコードは次のとおりです。

2 つの場所でヌル ポインター例外が発生しています。

コンソールに表示されるメッセージは次のとおりです。


このヌルポインタ例外エラーを解決する方法を知っている人はいますか? ありがとう。