問題タブ [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 - < および > タグを含む Java で HTML データを解析しますか?
Java で HTML テキストを解析したい。
javax.swing.text.html.HTMLEditorKitを使用して HTML データを解析しようとしました。HTMLからデータを取得するのに役立ちました。しかし、私は次のようなHTMLデータを持っています-
「<」と「>」の 代わりに「<」と「>」を囲む
上記のテキストの解析中にエラーが発生しました-
私の問題を解決するために提案してください。前もって感謝します。
java - パブリック ページのチェック ボックスの Java エディター HTML キット クラス リスナー
チェックボックスを含む公開 HTML ページを表示するために、Java エディタ HTML キット クラスを使用しています。パネルに表示されている公開ページで発生するこれらのチェックボックスのリスナーを構築したいと考えています。誰が私が何を探すべきか知っていますか? どんな助けにも本当に感謝します!
java - JTextPane 改行を作成
このコードを使用して新しい行を作成できます
しかし、別のテキストでこれをもう一度行うと、この後ではなく2番目のテキストのみが表示されます
エラーです。" + e.toString()
申し訳ありませんが、私の英語はうまくありません。お分かりできると良いのですが。
java - HTMLをスタイルドキュメントにロードする方法
StyleDocument を使用してコンテンツを JTextPane に表示しています。しばらく検索したところ、テキストペインから取得したドキュメントを HTMLEditorKit でファイルに書き込むことができることがわかりました。しかし、HTMLEditorKit を使用してこのファイルを読みたい場合、正しいドキュメントで解析されません。2 つの異なる結果が得られます。
- テキストペインにプレーンなhtmlコードを取得します
- テキストペインにコンテンツが表示されません
保存:
読み込み中 (2 つのバージョン):
java - Java Chat App - 複数のフォント、スマイリーや表の挿入に関する問題
私はJavaチャットアプリケーションを作っています。私はすでに基本を作っており、うまく機能しています。ここで、フォントを変更してスマイリーを挿入する機能を追加したいと考えました。また、各メッセージの横にタイム スタンプを少し追加したいと思いました。
タイムスタンプについては、適切な配置のためにテーブルを使用する必要があることは明らかです。しかし、それらを持つための簡単な解決策を見つけることができませんでした. 少しググった後、
- HTMLで実現できることを知りました。そこで、HTML エディター キットを試してみましたが、かなりうまくいきました。スマイリー、フォント、時間が挿入されました。
- ただし、そのチャットの会話をファイルに保存する必要もあります (チャット履歴用)。このすべての背後にドキュメントがあることを知っています。そのメソッドを使用して保存/読み込みを試みましたが、いくつか問題がありました。コードは以下です。
- さらに、フォント サイズが問題です。範囲が 1 ~ 7 であるため、MS Word のように通常の範囲が必要です。
- 最後に、私の HTML の知識は非常に基本的なものであり、最近では何も知らない CCS で HTML が使用されています。ほとんどの Web サイトでは HTML タグの使用を推奨していません。最新バージョンでは HTML タグがサポートされていないからです。それは私のアプリケーションに問題を引き起こしますか? もしそうなら、私は上記を達成するための別の方法を望んでいます.これは単純な大学のプロジェクトであっても、非推奨のものを使用したくありません.
コード: これらの一般変数を作成しました:
JButton には、テキスト/チャットを挿入する次のコードがあります。
addSmiles メソッドは各単語を処理し、':)' を img タグに置き換えます。
会話を保存/再読み込みするために、次の基本的なコードを使用しました。
書き込みは問題ありませんが、読み取りでエラーが発生します。
java.lang.RuntimeException: Must insert new content into body element
insertHTML メソッドの使い方が間違っているように感じます。誰かがその使用法を示す素敵なリンクを教えてくれませんか? 特に最後の 3 つの引数 (pop & pushDepth、insertTag) と例を示します。オラクルのドキュメント、私の満足のいくように説明しないでください。:/
- 複数のフォントをサポートするために、SimpleAttributeSet で標準の StyledDocuemnt を使用しました。RTFEditorKit を使用し、チャットを正常に保存/ロードしました。しかし、スマイリーやタイムスタンプのテーブルを挿入できませんでした。ここで 1 つのリンクに出くわしました。JTextPane にテーブルを描画しようとします。わかりにくいと思いますが、皆さんの推薦があれば真剣に検討します。
私の問題をきちんと説明し、長すぎないようにしたいと思います! :D あなたの答えを楽しみにしています。
- - - - -編集 : - - - - -
コードを少し変更しました。
初期化:
適切な try-catch を使用して、最初の行をドキュメントに挿入します。
どのチャットでも、以前と同じ HTML 文字列を使用しますが、挿入に使用する方法を変更しただけです。
最後に、チャットを保存するには:
この時点まで、すべてが美しく機能します。ファイル「asd」を開くと、HTML が正しく表示されます。ブラウザで開いてデータを正しく表示することもできます。
データを取得して JTextPane/Document に挿入するには:
この場合、エラーが発生します。
157 行目は kit.read ステートメントを指しています。ここで私が間違っていることを誰かに教えてもらえますか?
もう一度編集------------------------
私は自分の間違いに気づきました:)。ドキュメントを読み込む前にドキュメントをクリアする必要がありました:
HTMLdoc.remove(0, HTMLdoc.getLength());
今では動作します!!
java - HTMLEditorKitのフォーマット
JTextPaneでいくつかの基本的なフォーマットを実行しようとしています。そのために、html(HTMLDocumentおよびHTMLEditorKit)を使用することにしました。
選択したテキストを太字にするボタンのアクションリスナーのコードは次のとおりです
太字のテキストにも下線を付けようとする場合を除いて機能します(基本的に同じアクションリスナー)。ソースコードは次のようになります。
java - 順序付けられていないリストの箇条書きが JEditorPane でピクセル化されて見える
HTML 順序なしリストを使用して、JEditorPane 内にテキストを表示しています。HTML のサンプルは次のようになります。
これはすべてうまく機能しますが、奇妙なことに、によって生成された箇条書き<li>
は、隣にあるテキストと同じ品質に見えません。(問題がある場合は、Mac OS 10.7.5 を実行します)。円形の箇条書きは、ブロック状でピクセル化されたように見えます。
通常のズーム:
ズームイン:
ズームインすると特に明らかなように、これは対称ではなく、アンチエイリアシングの形式がまったくないピクセルのブロックにすぎないため、説得力のある円形の箇条書きにはなりません. その隣のテキストと比較すると、通常のズームでも、目の肥えた目には「ずれている」ように見えます。
これを修正する方法はありますか?
編集: • 文字 ( Mac ではoption+ 8) を使用すると、ピクセル化されていないように見える小さな箇条書きがテキスト内に作成されます。もちろん、この文字を を使用せずに手動で挿入することもでき<ul><li>
ますが、できれば HTML の順序なしリストを使用したいと考えています。
java - JTextPane 内の埋め込みスイング コンポーネントのキャレット位置
HTML タグが使用されているときに、カスタム HTMLEditorKit を使用してスイング コンポーネントを埋め込む JTextPane があります。このコンポーネントをクリックすると、キャレットの位置がこのコンポーネントの位置に更新されます。コントロールでフォーカス イベントを取得できますが、キャレットの位置をこのコンポーネントの位置に設定する方法がわかりません。誰でも方法を知っていますか?
java - JEditorPane: HTML 要素のクラス属性を取得
したがって、HTML ページを表示するための JEditorPane があります。ID で HTML 要素を取得するコードを作成しました。それらの属性を取得するのに問題があります。
たとえば<span id="0" class="insert">abc</span>
、HTMLページにあります。insert
ID を指定して、クラス名を取得したい。
私のコードは次のようになります。
これはうまくいきません。ただし、elem.getAttributes()
次のように返されます。
これは、HTML 要素の一連の属性とは異なります。HTML 要素のクラス属性を取得するにはどうすればよいですか?
ありがとう!
java - JTextPane - setText(getText()) を実行して再描画しない限り、HTMLEditorKit リストを含む箇条書きが正しくレンダリングされない
私は持っている:
その後、アクションが次のようになるように、順序付けられていないリスト ボタンをツールバーに追加しようとしました。
生成された html のダンプを取ると、これには適切なコードが含まれます。ただし、以下に示すように、妥当なものにさえ近くないため、レンダリングは非常に悪くなります。
しかし、もしそうなら:
その後、すべてが順調です。しかし、両方の行を実行しないと、どちらも単独では機能しません。jtextPane を表示する前にテキストを設定することで、機能させることもできます。
setText(getText())
これは本当に奇妙で、なぜ a の後に aを実行しなければならないのか理解できませんrepaint()
。
PS: これは、次の質問と非常によく似ています: How to implement bullet points in a JTextPane? そして、正しくレンダリングされないことを除いて機能します。HTMLEditorKit と RTFEditorKit に関係があるかどうかはわかりませんが、何か原因でレンダリングが失敗します。以下のhtmlソースコードは完璧です...
PS2:このリンクも非常に便利ですが、解決策も示されていません。
更新: 要求された完全なコードは次のとおりですが、他にはあまりありません...