問題タブ [defaultstyleddocument]
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 - DefaultStyledDocumentでフォントの色を設定する
私は次のようにフォントサイズを設定できることを知っていますjavax.swing.text.DefaultStyledDocument
:
フォントの色を設定するにはどうすればよいですか?
java - DefaultStyledDocument を別の DefaultStyledDocument に挿入する
DefaultStyledDocument
私は別のものに挿入したいDefaultStyledDocument
。どうすればいいですか?私はこの方法を知っています:
私が本当に欲しいのは次のようなものです:
これを行う方法はありますか?
java - DefaultStyledDocument.styleChanged(Style style)がタイムリーに実行されない可能性がありますか?
を拡張するクラスで断続的な問題が発生していますjavax.swing.text.DefaultStyledDocument
。このドキュメントはプリンタに送信されています。ほとんどの場合、ドキュメントのフォーマットは正しいように見えますが、正しくない場合もあります。フォーマットの変更の一部が適用されていないようです。
私はDefaultStyledDocument.styleChanged(Style style)
コードを見てみました:
SwingUtilities.invokeLater(updateRunnable)
ではなくと呼ばれるという事実invokeAndWait(updateRunnable)
は、ドキュメントがレンダリングされる前にドキュメントに表示されるフォーマットの変更を期待できないことを意味しますか?
その場合、更新が行われるまでレンダリングを続行しないようにする方法はありますか?
java - Java GUI:ドキュメントオブジェクトモデル
HTMLにはドキュメントオブジェクトモデルがあり、Javascriptはそれを操作/移動できます。
SwingでGUIを作成すると、レイアウトマネージャーを作成し、その中にオブジェクトを貼り付けているため、モデルは非常に異なっているように見えます(モデルの名前はわかりません)。
私の質問:Java GUisをDOMのように操作する方法はありますか?
[たとえば、ノードの削除/追加、子の移動などができるようにしたい...]
ありがとう!
java - Javaのjtextareaのカスタムタブ
さまざまな長さの jtextarea でタブストップを設定する方法、
最初のタブは 4 を停止する必要があります
2 番目のタブは 20 で停止する必要があります (4 からタブを指定すると、20 で停止する必要があります)
3 番目のタブは 30 で停止する必要があります (0 からタブを指定すると、30 で停止する必要があります)
java - JEditorPane-デフォルトのエディターキットに戻す
のエディタキットをに変更した場合、最初にインスタンス化したときのように、デフォルトの(プレーンテキスト)エディタキットJEditorPane
にHTMLEditorKit
どのように戻すのですか?これを実行して、ユーザーがhtmlモードに切り替えたときにすべてのhtmlをロードし、フォーマットされたテキストではなくプレーンテキストとして表示できるようにします(私はdreamweaverタイプのアプリを作成しています)。私は試した:
ただし、これによりエディタペインは編集できなくなります。エディターキットをプレーンテキストに戻すにはどうすればよいですか?
java - スタイル付きテキストをクリップボードとの間でコピー/貼り付けするにはどうすればよいですか?
私は私を持っていて、テキストモデルとしてJTextPane
使用しています。DefaultStyledDocument
私は現在、コピーと貼り付けにJTextPane
のデフォルトcopy()
とpaste()
メソッドを使用していますが、ご存知のように、それらはプレーン テキストのみをコピー/貼り付けします。たとえば、スタイル付きのテキストをブラウザーからコピーしてJTextPane
、スタイルを保持したまま貼り付けることができる必要があります。
どうすればこれを達成できるか知っている人はいますか?
java - Document.insertString() メソッドで挿入文字数を知るにはどうすればよいですか?
DefaultStyledDocument のカスタム実装を作成しています。また、Document.insertString() メソッドによって挿入される (または挿入された) 文字数を知る必要がある場合もあります。
しかし、私はそれを計算する方法を見つけませんでした。(メソッド insertString() 自体は void を返すため、役に立ちません)。
この値を計算することは可能ですか?
前もって感謝します。
java - LeafElementを自分で挿入する
JEditorPaneのオーバーライドされたDefaultStyledDocument(カスタムEditorKitも提供)内にLeafElementを挿入しようとしていますが、javax.swing.text.StateInvariantErrorが発生します。そのため、 JGuruフォーラムのトピックのガイドに従って、writeLock ()呼び出しとwriteUnlock()呼び出しを追加しましたが、今回はJEditorPaneは空のままです。では、ドキュメントのすべてのリスナーに通知するために、AbstractDocumentのfireXXX()メソッドをオーバーライドするにはどうすればよいですか?
ここに私のメインクラス:MyFrame.java
ここに私のクラスMyEditorKit.java
そして私のクラスMyDocument.java
これは、writeLock()およびwriteUnlock()で行をコメント化したときのエラースタックトレースです。
前もって感謝します。
java - DefaultStyledDocument のスイング以外の代替手段はありますか?
私は、EDT の外で Swing コンポーネントを使用することは常に悪いことであるという考えを同化させました。
ただし、私の非 GUI プログラム (現在の状態) では、ある種のマークアップ文字列 (文字列のビットに関するある種の「メタ」情報を提供する非視覚的な論理スタイルを含む) を使用したいと考えています。DefaultStyledDocument は完全に機能します。しかし、そのパッケージはもちろん javax.swing.text です。
非 EDT スレッドで使用するのが不適切だと感じているのは私だけですか? 代替手段はありますか (独自のクラスを展開するか、GUI がないにもかかわらず EDT を使用する以外に)?