問題タブ [jtextpane]
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.
java - JTextPaneは、親JScrollPaneでのスクロールを防ぎます
次のオブジェクトの「ツリー」があります。
マウスホイールを使用して外側のJScrollPaneをスクロールすると、1つの厄介な問題が発生します。マウスカーソルが内側のJScrollPaneに触れるとすぐに、スクロールイベントがそのJScrollPaneに渡され、最初のイベントによって処理されなくなったようです。これは、「親」JScrollPaneのスクロールが停止することを意味します。
内側のJScrollPaneでマウスホイールのみを無効にすることは可能ですか?または、スクロールするものがない場合はスクロールを無効にします(ほとんどの場合、テキストペインには1〜3行のテキストしか含まれていません)が、コンテンツが多い場合は有効にしますか?
java - HTML JTextPane 改行サポート
JTextPane を使用して HTML を編集しています。GUI コンポーネントに改行を入力し、JTextPane で getText() を呼び出すと、改行文字を含む文字列が取得されます。次に、新しい JTextPane を作成して同じテキストを渡すと、改行は無視されます。
改行が入力されたときに JTextPane が <br> タグを挿入しないのはなぜですか? これに対する適切な回避策はありますか?
出力例:
setText を呼び出す前に改行を HTML の改行に変換できることはわかっていますが、そうすると HTML タグと BODY タグの後の改行も変換されてしまい、ばかげているように思えます。
java - JTextPane で選択したテキストのスタイルを取得するにはどうすればよいですか?
ユーザーがテキストを選択して太字/下線/斜体にすることができるシンプルな WYSIWYG エディターを作成しようとしています。現在、ユーザーはテキストを選択して右クリックし、ポップアップ メニューから太字を選択できます。これにより、次のように選択したテキストに太字スタイルが適用されます。
太字スタイルは次のように設定されています。
私が知りたいのは、現在選択されているテキストのスタイルを取得できるかどうかです。ユーザーがすでに太字になっているテキストを「太字」にしようとすると、これを検出して太字を解除するコードを書くことができます単純に太字スタイルを再度適用する代わりに、このテキストに?
何かのようなもの:
夢が叶うかもしれませんが、これには望みがありません。私が現実的に望んでいるのは、私が間違っていると言われて「道」を示されるか、これを達成するためのラウンドアバウト方法の方向に向けられることです.
どうぞよろしくお願いいたします。
java - カスタム スタイルを含む、JTextPane スタイルのコンテンツを HTML に出力する方法は?
現在、JTextPane を使用して、ユーザーがテキストを追加/編集できるようにしています。太字/斜体/下線を使用できます (将来的にはリンクを許可する予定です)。また、カスタム スタイルとして挿入されるボタンをドロップすることもできます。パネルは次のようになります。
<< < 画像削除 >>
コンテンツを HTML として保存/ロードできるようにしたいと考えています。コンテンツは Flash SWF に組み込まれます。次のようにコンテンツを HTML として取得できます。
JTextPane に太字/斜体/下線付きのテキストのみが含まれている場合、これは正常に機能します。ただし、出力は非常に複雑です。カスタム スタイルも出力できるようにしたいのですが、試してみると次のエラーが発生します。
私のカスタム スタイルは次のように挿入されます (cID は "{0-0}" のような文字列です):
関数 createRefButton(String cID):
NRefButton は、"{"+cID+"}" を返す toString をオーバーライドします。
私が知りたいこと: このエラーを取得するには、「スタイル」を挿入する方法を変更する必要がありますか?
この JTextPane から HTML を取得する別の/より良い方法はありますか? 私が欲しいのは、太字/斜体/下線付きのテキストの周りの HTML タグだけです。不要な HTML を取り除き、「スタイル」を button.toString() として出力する必要があるかのように、過度に複雑ではありません。
または、独自の toHTML() メソッドを実装して、太字/斜体/下線付きのテキストを必要なタグでラップする必要がありますか? 私はこれを行うことを気にしません (いくつかの点で私はそれを好みます) が、指定された JTextPane ドキュメントのスタイルを取得する方法がわかりません。これらのスタイルを取得できた場合、適切なタグでスタイル付きテキストをラップして、それらを反復処理できると思いますか?
理想的には、図の JTextPane コンテンツは次のように出力されます。
出力 HTMLをJTextPane に読み込むこともできるようにしたいと考えています。この場合も、独自の fromHTML() メソッドを記述してもかまいませんが、最初に HTML を取得できるようにする必要があります。
私の質問を読んでくれてありがとう。
java - JTextPaneに埋め込まれたアイテムの選択
Aを使用すると、画像を埋め込むJTextPane
ことができます。ドキュメントのセクションを選択すると、テキストは強調表示されますが、埋め込まれたアイテムは強調表示されません。イベント後に埋め込みコンポーネントに通知することはできますが、マウスの選択中にそれらを強調表示する方法があるかどうか疑問に思いました。JComponents
CaretListener
java - JTextPane(Java Swing)で段落の背景色を変更する
Java Swingで段落の背景色を変更することはできますか?setParagraphAttributesメソッド(以下のコード)を使用して設定しようとしましたが、機能しないようです。
java - JTextPaneでスタイル付きテキストをコピーする方法
JTextPaneを使用してWYSIWYGエディターを作成しようとしています。
DefaultEditorKit.CopyActionを使用して、エディター内のテキストをコピーしています。ただし、このメソッドはテキストのスタイルを保持しません。JTextPaneでテキストをコピーしてスタイルを保持する方法を教えてもらえますか?
java - JTextPane から生のテキストを取得する
私のアプリケーションでは、JTextPane
ログ情報を表示するために を使用しています。このテキストの特定の行 (エラー メッセージなど) を強調したいので、contentType
を " text/html
" に設定します。このようにして、テキストをフォーマットできます。
JTextPane
ここで、このコンテンツをクリップボードにコピーする JButton を作成します。その部分は簡単ですが、私の問題は、 を呼び出すとmyTextPane.getText()
、次のような HTML コードを取得することです。
生のコンテンツのみを取得する代わりに:
私のコンテンツのみJTextPane
をプレーンテキストで取得する方法はありますか? それとも、自分で HTML を生のテキストに変換する必要がありますか?
java - JTextPaneキープレスエミュレーション
キープレスイベントで事前定義された手順を実行する必要があるJTextPane統合があります。手動で入力すると問題なく動作するようです。ただし、テストの目的で、この統合でキー押下イベントをエミュレートする必要があります。テスト環境は、指定されたJTextPaneが他のコントロールに追加されないようなものです。JTextPaneの可視性と編集可能性をtrueに設定し、フォーカスを要求した後、Robotクラスを使用しようとしました。問題は、キーを押すイベントが来るのを見ることができず、JTextPaneのコンテンツがまだ空であるということです。アドバイスをお願いします。ありがとうございました、
ピーター
java - JavaJTextPane選択したテキストのフォントを変更
私はJTextPaneを持っています(またはJEditorPane、どちらも問題なく使用できます)。選択した領域のフォントを特定のフォントに変更するにはどうすればよいですか?
textpane.getSelectedText().setFont()
動作しません。(フォントファミリーでも)