問題タブ [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.

0 投票する
2 に答える
173 参照

java - キーに新しい「文字」を再割り当てして、キーのデフォルトの文字の代わりに印刷されるようにします

私は、ユーザーがキーボードのキーに値を再割り当てできる「マクロシステム」を備えたテキストエディタを開発中です。これにより、文字aを押すと、文字「z」が出力されるようになります。代わりは。(実際には、他の文字ではなく、数学記号に使用されます)。

誰かが私にJavaコードを使い始めて、JTextPane内のキーに値を再割り当てすることはできますか?

詳細が必要な場合は、お知らせください。

ありがとうございました!


これまでのところ、これは私が持っているものです:

マクロを「作成」して、マクロが存在するかどうかを確認しながら、それを実装する方法に取り組んでいます。

他にアドバイスがありましたら、よろしくお願いします。

ありがとうございました。

0 投票する
3 に答える
220 参照

java - 最初のコンストラクターに依存する別のコンストラクターに依存する条件を必要とする Java コンストラクター。(尻尾を噛むヘビ)

基本的に、最初のコンストラクターに依存する別のコンストラクターに依存するコンストラクターがあります。これにより、コーディングがかなり奇妙になります。

問題のあるコードは次のとおりです。

これにより、StyledDocument コンストラクターを使用する JTextPane が作成され、次に JTextPane が使用されます。

助けてください、ありがとう!

0 投票する
1 に答える
247 参照

java - JTextComponentのHTMLDocumentで現在のオフセットを取得する

Swingアプリケーションでは、HTMLDocumentバックエンドでJTextPaneを使用しています。ある時点で、ある種のプレースホルダーをプログラムでドキュメントに挿入しています。

document.insertString(...)

何らかの理由で、

HTMLEditorKit.insertHTML()

メソッドは、テキストをJTextPaneに表示しません。

私が知りたいのは、ドキュメント内のどの位置に挿入するか、つまり、バックグラウンドで書き込まれるHTMLドキュメントです。私は言うことができます

JTextPane.getCaretPosition()

ただし、これにより、フロントエンドに表示されるドキュメントのオフセットのみが表示され、結果のオフセットは表示されません。

0 投票する
1 に答える
2584 参照

java - JTextPaneの任意のオフセットからスタイルを取得する

、スタイル名を取得する方法はありますか、または挿入時にテキストを指定したスタイルとの特定の位置にあるStyleかどうかを比較する方法はありますか?私の目的のために私はカスタムを作成したので、そして。だから私は通常の文字と数字の別のスタイルに使用することを選択できました。私はまた、トグルボタンを持っています。これは、トグルされている間は異なる形式の数字をフォーマットし、トグルされていない間は定期的にフォーマットするので、最後にどの番号が影響を受けたかを方法だけで区別することはできません。したがって、唯一の方法は、定数として通常の数のスタイルと特別な数のスタイルの両方を持っているスタイルを比較することです。私が思いつく必要があるのは、各キャラクターのスタイルを取得する方法だけです。StyleJTextPaneJTextPaneStyledDocumentDocumentFilterStyleDocumentFilterJTextPane's getText()

JTextPane'sと呼ばれるキャレットの位置からAttributeSetを取得するメソッドがあることは知っていますgetCharacterAttributes()が、それは私の問題には役に立たないと思います。

コード例を含める必要がありますか?想像するのは難しいことではないと思います。あなたが私を欲しければ、私はそれを含めます。

任意の入力をいただければ幸いです。ありがとう!

0 投票する
1 に答える
322 参照

java - Java JTextPane イタリック体のヘルプ

そのため、ユーザーがコピーできる JTextPane にイタリック体でスタイル設定されたテキストがある Java GUI アプリケーションに取り組んでいます。私が必要としているのは、ユーザーが斜体のスタイルを失うことなくテキストをコピーして Microsoft Word 文書に貼り付けられるようにすることです。現時点では、貼り付けるとすべてプレーンテキストに変わります。これどうやってするの?

0 投票する
3 に答える
114 参照

java - JTextPanesをたくさん表示しますか?

一連のJTextPanesを表示するためのベストデザインプラクティスを決定するのに少し問題があります。1000個のJTextPanesがあり、各JTextPaneには定型化されたメッセージが含まれており、チャットで受信したメッセージと同じように、それらを上下に表示したいとします。JTableを使用し、その中にペインを配置する方がよいでしょうか。または単にそれらすべてをJPanel/JScrollPaneに入れますか?JTextPanesを削除および追加したり、特定のJTextPaneを選択/フォーカスしたりできるようにしたいと思います。JTableを使用してアルファプロトタイプ(プロトタイプも考慮しない)ソリューションを作成し、カスタムモデル/レンダリングを作成しましたが、達成しようとしていることに対して非常に複雑に見えます。

カスタムJPanelを作成するだけでどれほど受け入れられるのか疑問に思っていましたか?また、最大10,000個のJPanelを保持するパフォーマンスの側面にも興味がありますか?

0 投票する
1 に答える
14826 参照

java - JTextPane に関連付けられた Document に HTML コンテンツを追加する

私が作っている簡単なコンソールについて質問があります。setText()以前に設定した関数を使用して JTextPane に html コンテンツを追加できることを知っていますsetContentType("text/html");。しかし、私のアプリケーションのニーズのために、getDocument()関数で取得した javax.swing.text.Document を直接操作する必要があります (たとえば、行を削除して新しい行を追加するなど、私が作成しているコンソールのようなものです。以前の StackOverflow の質問ですでにいくつかの例を見てきましたが、どれも私のニーズに応えていません)。したがって、HTML をドキュメントに挿入し、JTextPane で正しくレンダリングする必要があります。insertString()問題は、メソッド (ドキュメントに属する) を使用してHTML コンテンツを追加すると、JTextPane がレンダリングされず、出力にすべての html タグが表示されることです。これを正しく機能させる方法はありますか?

それが私がテキストを挿入する方法です:

0 投票する
1 に答える
536 参照

java - JTextPane 不変テキスト ブロック

私はしばらくの間、テキスト エディタのようなものを作成してきましたが、NetBeans の興味深い機能の 1 つに気付きました。テンプレートから Java アプリケーション (「デスクトップ アプリケーション」など) を作成すると、不変のコード ブロックが作成されます (これらは表示用に存在しますが、直接変更することはできません)。

このショットは、上記のすべてのテキストを明確にする必要があります。

ここに画像の説明を入力

問題は、JTextPane を使用してそのような機能を実装する方法です。

0 投票する
3 に答える
2659 参照

java - Swing : JTextPane のフォントの色とストライクの色

テキストの色がデフォルトで青に設定されている JTextPane があります。テキストに取り消し線を追加すると、取り消し線の色はテキストと同じ (青) になります。文字と取り消し線の色を変えたい。たとえば、テキストの色が青の場合、取り消し線は異なる必要があります。

アイデアをください。

0 投票する
3 に答える
6102 参照

java - JTextPane で現在の行を強調表示する

テキストエディターウィンドウの特定の要件を実装するために2日以上試みています...残念ながら、これまでのところ成功していません:(

目標は、他のテキスト エディターが行うように、現在の行を強調表示するテキスト エディター ウィンドウを取得することです。現在の行とは、現在カーソル/キャレットが配置されている行を意味します。

すでに2つの異なるアプローチを見つけましたが、残念ながらそれらを採用できないため、期待どおりに機能します。

最初のアプローチは、DefaultHighlighter( http://snippets.dzone.com/posts/show/6688 ) を上書きすることです。2 番目のアプローチでは、HighlighterPainter代わりに上書きされます ( http://www.jroller.com/santhosh/date/20050622 )。

現在、プロジェクトで最初のアプローチを採用しようとしていますが、前述のように、期待どおりに機能していません。

この投稿の最後に、問題を示す小さなサンプル アプリケーションを投稿します。

  • プログラムを起動すると、キャレットが最初の行の先頭に配置されます。ただし、行は強調表示されません。
  • 今、私はいくつかの文字を入力します。これらの文字は強調表示されますが、完全な行ではなく、それらの文字のみが強調表示されます
  • Enter キーを押して次の行に移動します。最初の行が強調表示されなくなりました。これは正しいことです。2 行目も強調表示されていません。これは正しくありません。繰り返しますが、いくつかの文字を入力すると、それらは強調表示されますが、完全な行ではありません。
  • カーソルキーまたはマウスのクリックによってキャレットを最初の行に戻すと、既存の文字だけでなく、最初の行全体が強調表示されます。これは、私が最初から望んでいる動作です。

ここで私が間違っていることを誰かが教えてくれることを願っています...または、その問題をまったく解決できない理由を説明してください。線の強調表示を実現するための代替ソリューションも高く評価されています!

事前にどうもありがとう 乾杯 Preachie