問題タブ [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 - HTMLEditorKitで構築したHTMLエディタでテキスト部分の背景色を変更する機能を提供する方法
私の問題は次のとおりです。
私の小さな HTML エディターのユーザーが、入力中のテキストの背景色を切り替えることができるようにしたいと考えています。私は最初に、その目的のために CSS スタイルを使用しようとしました。異なるスタイルは異なる背景色を定義しJComboBox
、ユーザーはこれらのスタイルを切り替えることができます。内側のそれぞれの位置でスタイルを選択すると、HTMLDocument
タイプの新しい HTML 要素が
<span class="style">
入力されます。残念ながら、私はこの作品を手に入れることができませんでした。スパン要素は単に作成されませんでした (この問題に関する私の質問を参照してください)。
その間に、私はクラスを見て、StyledEditorKit.ForegroundAction
これがどのように機能するかを学びました. 実行するとStyledEditorKit
、使用中の入力属性が変更され、新しい前景色が設定されます。後で入力されるテキストは、新しい前景色で表示されます。HTML コードをファイルに書き込むと、テキストは自動的に<font color=".."> ... </font>
HTML 要素で囲まれます。そして、複数の段落にまたがる可能性のある選択されたテキストでも機能します。この場合、影響を受けるすべての段落内の影響を受けるテキストは、明らかに<font ...>
HTML タグで囲まれています。
テキストの任意のチャンクに背景色を設定するために、同じ機能を実現したいと考えています。しかし、驚くべきことに、これはそれほど簡単ではないようです:-(
StyledEditorKit.foregroundAction
Java 7 JDK のような、その目的のための定義済みのアクション クラスが見つかりませんでした
。このようなクラスの作成は複雑ではないようです。前景属性の代わりに背景属性を設定するようにメソッドを変更しForegroundAction
たものとほぼ同じ
です。actionPerformed
しかし、含まれるテキストの一部に特定の背景色を設定する有効な HTML コードを作成するにはどうすればよいでしょうか? foreground 属性が設定されている のテキストHTMLEditorKit
のすべての要素を のどの部分で作成するかは、これまでわかりませんでした。要素を作成する既存のコードから、テキストの任意の領域の背景色を設定するため
の要素ではなく、要素を作成する実装を導き出すことはそれほど難しくないと思います。それとも、これらすべてがすでに利用可能で、私が気付かなかっただけですか? どんな助けでも大歓迎です!<font>
HTMLDocument
<font>
<span style="background-color:...">
<font>
その間に私は大きな一歩を踏み出し、ここにあるコードのおかげで
有効な<span>
要素を作成することができました. span 要素では、class
属性を使用して定義済みのスタイルを割り当てます。
これが私のコードです:
ここまでは順調ですね!<span>
このソリューションの唯一の問題は、要素に囲まれたテキストから「通常の」テキスト、つまり要素内に配置されていないテキストへの切り替えを実装できなかったこと<span>
です。これは大したことではないはずですが、残念ながら、それを達成する方法がわかりませんでした。どんなアイデアでも大歓迎です!
java - Java Swing の HTMLEditorKit は、SPAN 要素のネストを削除します
JTextPane
、HTMLDocument
およびを使用して単純な HTML エディターを実装していますHTMLEditorKit
。コードは次のようになります。
ネストされた SPAN 要素を含む HTML ファイルをロードすると、ネストがサイレントに削除されることに気付きました。HTML ファイルの例を次に示します。
そのファイルをロードし、ツールバーで「プレビュー」アクションを選択すると、次のような HTML ソース コードを示すポップアップ ウィンドウが表示されます。
ご覧のとおり、外側の SPAN 要素は 2 つの SPAN 要素に静かに分割され、内側の SPAN 要素は 2 つの間に配置されています。この動作は、HTML エディターを実現する Java Swing コンポーネントと、私が理解している限り、ネストされた SPAN 要素を許可する HTML 4.x 標準との間の非互換性の 1 つを示しているように思えます。私の質問は次のとおりです。回避策またはその制限を克服する (あまり複雑でないことを願っています) 方法はありますか。つまり、HTML テキストを読み取るときに遭遇するネストされた SPAN 要素を HTML エディターに保持させる方法はありますか?
apatwork さん、よろしくお願いします。
java - javax.swing.text.rtf.RTFEditorKit / RTF は 8 ビット形式です
HTML2RTF 用のシンプルなコンバーターが必要で、フォロー コードを実行しようとしましたが、このコード例でエラーが発生しました。
コード:
エラー:
私は何を間違っていますか?この場合、グーグルは私の友人ではありません。あなたが私を助けてくれることを願っています:)
java - Swing の HTMLEditorKit クラスの href で使用できるプロトコルは何ですか?
スケジュールされたジョブに関するドキュメントを html として入力できるアプリケーション (AppWorx! 誰かこのタグを作成してください!) を使用しています。
私は、次のようなリンクを持つオンコール ドキュメントを作成しようとしています。
ページは Java アプリ自体の内部に表示され、http:// へのリンクはユーザーのブラウザー ウィンドウで開かれます。しかし、上記のような tel リンクにより、大きなエラー ウィンドウがポップアップし、次のエラーが表示されます。
他のプロトコルも失敗します (http を除く)。mailto: リンクがある場合、上記のエラーではなく、メール アドレスのドメイン部分に移動します。
アプリがコンパイルされたこのクラスのバージョンは、何年も前のものだと思います。
このクラスの制限は何か、または回避策が存在するかどうかを誰か教えてもらえますか?
Appworx のドキュメントでは、アプリが jnlp から呼び出されない限り、http リンクでさえ機能しないことが示唆されています (これはどういうわけかサンドボックスのことですか?)。ただし、ここでは、他の方法でアプリケーションを起動する人は誰もいません。
java - たとえば、マークダウンとソースコードを切り替えることができるハイブリッド EditorKit の作成
CSS スタイルの Html ( SwingBox ) 用の EditorKit があり、ソース コード用の EditorKit ( SyntaxKit ) があるとします。これら 2 つを組み合わせた合成エディタ キットを作成して、JEditorPane
HTML (マークダウン パーサーから取得) とソース コード (SyntaxKit で処理) をインターリーブできるようにすることはできますか?
例えば、下図のように。マークダウンから HTML へのパーサーを介してソース コードをレンダリングするのではなく、独自のレクサーを備えた特定の構文キットを使用することに注意してください。
そして、ここにいくつかの文字通りのプログラミングがあります。画像などで