問題タブ [jtextcomponent]
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 - JTextComponentのHTMLDocumentで現在のオフセットを取得する
Swingアプリケーションでは、HTMLDocumentバックエンドでJTextPaneを使用しています。ある時点で、ある種のプレースホルダーをプログラムでドキュメントに挿入しています。
document.insertString(...)
何らかの理由で、
HTMLEditorKit.insertHTML()
メソッドは、テキストをJTextPaneに表示しません。
私が知りたいのは、ドキュメント内のどの位置に挿入するか、つまり、バックグラウンドで書き込まれるHTMLドキュメントです。私は言うことができます
JTextPane.getCaretPosition()
ただし、これにより、フロントエンドに表示されるドキュメントのオフセットのみが表示され、結果のオフセットは表示されません。
swing - より良い選択:「編集可能なテキストのある楕円」コンポーネントの場合はTextLayoutまたはJTextComponent?
VisioまたはUMLクラス図エディターを使用したことがある場合は、私が何を達成しようとしているのかがわかります。JFrame内で、ユーザーは編集可能な小さなテキストフィールドを囲む省略記号を追加できます。これらの楕円は、ユーザーがドラッグしたときにフレーム内で再配置できます。楕円をクリックすると、テキストが編集可能になります。カラットが表示されたり、部分文字列を強調表示したりできます。
基本的な構造を設定しました。「ellipse」は自己完結型のコンポーネントであり、含まれているJFrameとそのリスナーからメソッドが呼び出されます。私は2つのアプローチを試しました:
コンポーネントのdraw()メソッドで、TextLayoutを使用して境界を見つけ、含まれているテキストを楕円内に配置し、TextLayoutのdraw()を使用してフレームに描画します。これは速いです。JFrame内でコンポーネントをドラッグすると、マウスオーバーとマウスクリックの動作はすべて簡単です。ただし、編集機能については、ヒットテスト、カラットポジショニング、テキストの強調表示、行の折り返しなどを処理するために、多くのカスタムコードを作成する必要があるようです。
コンポーネントに含まれているJFrameへの参照を含め、楕円を描画した後、そのJFrameにTextComponentを追加または再配置します。これには、編集および行の折り返しのためのすべての組み込みTextComponent動作の利点があります。しかし、ロジスティクスは非常に雑然としており、TextComponentの配置も面倒になります。特に、ユーザーがコンポーネントをドラッグした場合はなおさらです。
私はおそらくこれをすべて間違っていると考えています。私がまだ遭遇していない、これを行う簡単な方法を誰かが提案できますか?
java - Java swing jtextcomponent で変更中のテキストを強調表示する
次のように JEditorPane でいくつかのコードを強調表示しようとしています。
これにより、文字が 1 つずつ強調表示され、すべての文字が強調表示されたままになります。ここで、同じ動作 (すべての文字が強調表示されたまま) が必要ですが、次のように、強調表示の間のテキストを変更したいと思います。
ペイン内のテキストが変化し、新しいハイライトを適用していることに注意してください。古いハイライトはなくなりますが、残しておきたいと思います。私の仮定では、setText() を設定するたびにハイライトが消えます。では、テキストを変更しながらテキスト コンポーネントのハイライトを維持する方法はありますか?
java - 構文の強調表示
私は自分で Summer プロジェクトを作成し、単純なテキスト/コード エディターを作成することにしました。これまでのところ、すべてがうまくいっていると思います。基本的な GUI を作成し、ファイルを開く、保存する、作成するなどの簡単な操作を行うことができます。
現在、ファイルを開くときに単語を読み取って構文の強調表示を行っていますが、これは非常に面倒であることが判明し、誰かが GUI に入力しただけでは構文が強調表示されません。
ですから、ファイルを開くときとウィンドウに入力するときの両方で機能するように、構文の強調表示を行う方法についていくつかのアイデアが欲しいです。
また、誰かが私のコードについてのコメントを聞きたい場合は、これがリポジトリです: https://mcmillhj.beanstalkapp.com/jtexteditor/browse
主なファイルは JTextEditor.java と ui/JTextEditorUI.java です。
java - java.lang.ClassCastException:javax.mail.internet.MimeMultipartをNewClass.main(NewClass.java:34)のjava.lang.Stringにキャストできません
これは、Gmailサーバーからメールを取得するためのコードです。それに加えて、件名と送信者を別々に持ってきます。私がチェックしている受信トレイには5つのメッセージがあります。(一部は既読、一部は未読)
htmlコンテンツを表示したかったので、JEditorPane
}
私が得る出力は次のとおりです:
Gmail Team <mail-noreply@google.com><-- FROM Get Gmail on your mobile phone<---Subject
この出力の後、プログラムは次の例外を出しますjava.lang.ClassCastException: javax.mail.internet.MimeMultipart cannot be cast to java.lang.String
at NewClass.main(NewClass.java:34)
。フレームが表示されないのはなぜですか?
java - JTextFieldのgetTextを上書きする
getText()
空白値ではなくnull値を返すことができるように上書きしたいと思います。getText()
それがの一部であることに気づき、JTextComponent
正常に上書きできませんでした。望ましい結果を得るための最良の方法は何ですか?
java - DocumentListener でのアクションの使用
ユーザーが JTextArea のコンテンツを更新するか、手動で JButton を押して何かをトリガーするアプリケーションを開発しています。
DocumentListener を使用して最初の部分を実行し、関連するコードをそのinsertUpdate
メソッドに配置しました。
以前に sを使用したことはありませんAction
が、複数のコントロールによって何かをトリガーする必要がある場合に役立つと聞きました。DocumentListener からアクションをトリガーすることは可能ですか? アクションを使用するのは良い考えですか、それともコードを通常の方法に置くべきですか?
(コンストラクターで):
フィールドである Action:
説明:
JTextArea は、ユーザーが貼り付けたテキストを受け取ります。これを自動的に解析したいと考えています。解析は、GUI の他の場所で設定された他の値に依存します。ユーザーがこれらの他の値を変更した場合、テキストを再解析したい場合があるため、ボタンを押して同じアクションを実行する必要があります。
java - JScrollPane で ScrollOnExpand を無効にする
ビュー内のコンテンツが拡大するときにスクロールペインがスクロールしないようにしたい。ポインタはありますか?タイトルでグーグルのバリエーションを試したり、JScrollPane のすべてのドキュメントを読んだりしましたが、まだ少し困惑しています。
編集:スクロールペイン内にテキストペインがあり、その横に別のテキストペインがあり、その横にペインの行番号が表示されます。新しい行が追加されるたびにこの番号枠がいっぱいになるので、おそらくこれが原因でビューが前に進みます。
java - WYSIWYGXMLエディターjava
指定されたxmlファイルを開くことができるswingベースのエディターを作成する必要があります。このエディターには、a<p>
と</p>
tagの間に使用する必要のあるテキストが含まれていますが、ファイルには他のタグもあります。ファイルには他にも役に立たない情報があります。表示する必要はありませんが、保存する必要があります。で言及されているタグ内のテキストのみを支払いJTextComponent
、ユーザーがそれを変更して、基になるxmlソースに変更を書き戻す必要があります。xmlファイル内のタグの位置はファイルごとに異なり、ファイルには複数の<p>
タグがあります。すべてのタグのコンテンツを一度に表示して編集できるようにする必要があります。どう思いますか?上記のタスクを実行するための最良の方法はどれですか?
java - すべてのアイコンを改行で表示して JEditorPane/JTextArea にアイコンを表示して追加しますか?
表示できない JEditorpane のファイル拡張子のシステム アイコンを表示しようとしていますが、最後のアイコンしか表示されません。各アイコンを改行に追加して表示したいですか?