問題タブ [htmleditorkit]
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 で別の拡張子を持つ HTML ファイルを開く方法
HTML ファイルがあり、それを で表示する必要がありますJTextPane
。
これは正常に動作します。変更した HTML エディター キットを使用し、必要に応じて特別なタグを表示します。しかし、変更されたファイルは厳密には HTML ではありません。別の拡張子が必要です。しかし、それは問題です。
ファイルの名前が変更されたばかりで、現在はプレーン テキストとして表示されています。JTextPane
拡張子が XHTBM の HTML ファイルを HTML ファイルとして強制的に開く方法はありますか? を使用する場合、HTML 拡張機能を使用する必要がありますJTextPane
か?
java - JEditorPane、HTMLEditorKit-カスタムタグを挿入するカスタムアクション
私はを信じていJEditorPane
ます。簡単なエディタが必要です。カスタム(2)タグを含むHTMLのロードと変更に関する問題を解決しました(以前の投稿を参照)。ドキュメントが正しく表示され、編集することもできます。テキストを書いたり、文字やカスタム要素を削除したりできます。私は戦いに勝ったが、戦争には勝てなかった。次のステップも残念ながら非常に問題があります。カスタムタグを挿入できません。
カスタムアクションがあります:
正しく動作します。要素を挿入できspan
ます。しかし、この方法で非標準のタグを挿入することはできません。code
、などを挿入できますspan
が、タグは挿入できません。私のタグには、これを使用する必要があります。
2つの重大な問題があります
- カスタムタグは、ウィスペース以外の文字(ここではx)で囲む必要があります
- 現在の要素の本体が分割されます
span
に要素を挿入すると、期待どおり<p>paragraph</p>
になり<p>par<span>ahoj</span>agraph</p>
ます。ただし、不明なタグは常にbody
要素の子として挿入され、結果(不明なタグx
など)は<p>par</p><x>ahoj</x><p>agraph</p>
です。
仕事は疲れ果てています。私は数週間以来、この比較的単純なタスクを信じています。私はすでに無駄になっています。挿入が機能しない場合は、すべて廃棄できます...
java - JEditorPane と HTML 要素のソース
私は (まだ) JavaHTMLEditorKit
と Java に問題がありHTMLDocument
ます。要素の内部 HTML しか設定できませんが、取得できません。要素の uderlying HTML コードを取得する方法はありますか?
私の問題は、HTML サポートが非常に貧弱で、書き方が悪いことです。API では、基本機能と期待される機能は許可されていません。colspan
のまたは 行スパンattribute
を変更する必要があり<td>
ます。Java 開発者は単純な方法を閉じました: 要素の属性セットは不変です。回避策として、要素のコード (例: <td colspan="2">Hi <u>world</u></td>
) を新しいコンテンツ (例: ) に置き換えることができます<td colspan="3">Hi <u>world</u></td>
。この道も閉鎖されているようです。(おまけの質問: 何の役に立つのHTMLEditorKit
?)
java - カスタム ドキュメントとエディタを使用した JTextPane でアイコンが正しく表示されない
Java で非常に小さなメッセンジャーのようなアプリケーションを実装し、メッセージ パネルに JTextPane を使用しています。今、私たちは一般的なスマイリーをファイルに置き換えようとして.gif
います.アイコンが中央に配置されていることを除いて、仕事をするいくつかの例を使用しています. とにかくインラインに見えるようにする方法はありますか (左揃え、または通常)? これを解決するための助けをいただければ幸いです。
初期化コードは次のとおりです。
MessageDocument
クラス:
WrapHTMLEditorKit
クラス:
そして最後に、SmileyDocumentListener
クラス:
注:私はin に変更しよr.alignment = 0.5f;
うとしました0.0f
WrapHTMLEditorKit.java
java - HTMLEditorKit JEditorPane HTML でテキストを変更する
JTextPane を使用して HTML を編集していますが、getText() および setText() メソッドを使用すると、テキストが変更されます。
たとえば、このテキストをセッターメソッドで設定するとします。
そして、私が呼び出すとgetText()
、それが返されます
元の形式を維持することは私にとって重要です。出来ますか?
ありがとう!
java - SwingにJLabel/JButton/etc用の独自のHTMLEditorKitを使用させる方法
HTMLEditorKit
いくつかのカスタムHTMLタグを表示するために、(および他の関連するクラスの)サブクラスを作成したとしましょう。JLabel
これらのカスタムタグを、、などで使用できるようにしたいと思いますJButton
。独自のルックアンドフィールを作成する以外に、これを行う方法はありますか?つまり、現在使用されているルックアンドフィールに関係なく、swingに「/etcHTMLEditorKit
でHTMLをレンダリングするためにこのインスタンスを使用する」ことを伝えたいと思います。JLabel
Swingの内部で行ったちょっとした突っ込みから、それは不可能だと思いますが、間違っていることが証明されることを望んでいます。
java - HTMLEditorKitから特定のアクションを取得するにはどうすればよいですか?
HTMLコンテンツを表示するJEditorPaneと、選択したテキストを太字にするボタンを使用して、簡単なテストアプリケーションを作成したいと思います。HTMLEditorKitはすでにこのボタンに必要なアクションを提供しているので、次のような複雑なコードで使用することができました。
しかし、私はかなり何かが間違っていると確信しています。名前でアクションを取得するには、このヘルパーマップを作成する必要があるとは信じられません。アクションを取得するために私が見つけた唯一の公式メソッドは、配列を返すだけのJEditorPaneのこのgetActions()メソッドのようです。
それで、から特定のアクションをフェッチするためのより良い方法があります、EditorKit
そして私はそれを単に逃しましたか、それとも単に悪いAPIデザインですか?
java - JTextPaneへのダブルリストアイテムの挿入
順序付けされていないリストアイテムをに挿入するボタンがありますJTextPane
。ただし、ボタンをクリックしてリストアイテムを挿入すると、1つではなく2つの箇条書きが挿入されます。1発の弾丸は初回挿入時にのみ挿入されます。
アプリケーションから機能を切り取り、コードを小さなSSCCE(下記)に貼り付けましたが、問題は解決していません。ここで何が起こっているのかについて誰かが何か考えを持っていますか?
[問題は解決されました。以下は完全に解決されたコードです。これを行うには2つの方法があります。ショーの機能と箇条書きボタンを参照してください]
java - Java Swing: GlyphView : 順序付き/順序なしリスト (HTMLDocument) の削除後の StateInvariantError
これは新しい問題ではないと思います。しかし、JTextPane の順序付き/順序なしリスト (EditorKit -> HTMLEditorKit、Document -> HTMLDocument) をバックスペース キーを使用して一番上まで削除すると、常にエラーが発生するようです。以下は、GlyphView の getText() メソッドからスローされる例外です。
これには SSCCE を提供できます。しかし、シミュレートするのはそれほど難しくありません。HTMLEditorKit と HTMLDOcument モデルが内部に設定された JTextPane を使用するだけです。カスタムの「InsertOrderedList」アクションを使用するか、何らかの方法で文字列を挿入します
これにより、テキスト ペイン内に順序付き/順序なしリストが挿入されます。
このバグの奇妙な部分は次のとおりです。
文字の削除を開始すると (箇条書きの下に行がある場合)、最後の箇条書き項目の最後の文字に到達するまで、文字は削除されます。これに到達すると、キャレットは上に移動することを拒否し、GlyphView からのエラーがスローされます。
ほとんどの文字を削除した後でも、リストの最初の箇条書きを削除できない場合があります。ctrl+a を押してから backspace を押すまでそのままです。
この動作が存在しない JWebEngine を除いて、オンラインで入手可能なほぼすべての Java ベースの HTML エディターでこれらのバグを見てきました。残念ながら、JWebEngine はオープン ソース化されていないため、この問題をどのように解決したかを確認するためにコードを覗くことはできません。
私の推測では、HTML ドキュメント モデルからの通知には、カーソル位置コードが正しく機能していないという問題があると思われます。また、Sun のバグ データベースを検索して、この特定の問題が発生したかどうかを確認しましたが、何も見つかりませんでした (ただし、これと非常によく似たバグをかなり見てきました)。また、誰かが以前にこれに気付き、Swing チームの注意を喚起したに違いないと確信しています。
Swing (特にテキスト) 部分を扱っている人は、この問題が Sun で発生したかどうか、または問題を軽減する既知の回避策があるかどうかを知っていますか?
ユーザーがマウス選択を使用してペインからリストを削除できる可能性はありますが、バックスペース キーを使用して同じことを行うオプションがないのは非常に奇妙に思えます。
SSCCEが取り付けられました。バグを再現するには、pls. 添付の図に示す手順に従ってください。
- テキスト行を追加します。次に、テキスト ペインの上のボタンをクリックして、2/3 の箇条書き項目を追加します。ここで、最後の箇条書きの最後の文字の末尾にキャレットを置き、すべての文字が削除されるまでバックスペース キー全体を押し続けます。
観察された動作: 最後の箇条書きがハングアップし (削除されません)、例外がスローされます (上記のとおり)。
予想: 例外はなく、テキスト ペインの内容はクリアされるはずです。
java - HTMLEditorKitで苦労する
HTMLEditorKitライブラリを使用してHTMLドキュメントをトラバースし、それをリンクに変更しようとしている初心者のJavaプログラマーです(主にそれを楽しむために、私が行っていることは問題なく手元で行うことができます)
しかし、私の問題は次のとおりです。HTMLファイルを変更した後、HTMLファイルに保存する方法がわからないHTMLDocumentが残ります。
その後、「doc」要素を使用して作業を行います。
これで完了したので、保存し直したいのですが、最初にHTMLを取得したファイルを上書きすることが望ましいです。
変更したHTMLドキュメントを後でhtmlファイルに保存する方法を教えてくれる人はいますか?