問題タブ [swingutilities]
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 - フォントの実際の境界を見つけるための最良の方法
レンダリングされたテキストの境界を見つける方法を探していて、FontMetricsのgetStringBoundsメソッドに遭遇しました。これは一部のフォントの下降を無視しているようで、上昇が誇張されているため、垂直方向に適切に位置合わせできない境界が返されます。少し掘り下げてみると、GlyphVector.getPixelBounds()SEEMSが自分のやりたいことを実行していることがわかりましたが、使用に問題があるかどうかはわかりません。
2つの違いを表示するアプレットhttp://breadmilkbeercigarettes.com/bmbc/shelves/users/bbb/src/java/applet/glyphvector.htmlを作成しましたが、私のシステムフォントでは正しい境界を返すようです。これが費用のかかる方法であるかどうか、またはそれを使用することによる他の考えられる落とし穴があるかどうかを誰かが知っていますか?FontMetricsは私にとって正しく機能しているようには見えませんでした。あるいは、私の期待がずれていたのかもしれません。
ありがとう、BBB
java - Java - invokeAndWait の値をグローバル文字列変数に代入できません
java-simple-serial-connector API を使用してシリアル ポートの読み取りと書き込みを行うアプリケーションを開発しています。データ バイトを読み取ってグローバル文字列変数 (sReader) に割り当てようとすると、問題が発生します。sReader は文字列全体を取得するわけではなく、その長さは毎回ランダムです。文字列 sBuffer を出力 (Output.append) に追加すると、文字列全体が常に表示されるため、すべてのバイトを受信していると確信しています。以下の私のサンプルコードを見てください:
java - java - 文字列に値が代入される前に文字列戻りメソッドが呼び出される
私のアプリケーションは、シリアル ポートの読み取りと書き込みを行うことになっています。データは、PortReader クラスの EventListener で読み取られます。今後使用するために、このデータをグローバル String 変数 (プライベート String sPortReaderString) に割り当てたいと考えています。グローバル文字列変数は、単に文字列 sPortReaderString を返す getPortReader() と呼ばれるメソッドを使用して、その値を返す必要があります。アプリケーションの JFrame で、シリアル ポート接続を開き、シリアル デバイスから自動的に応答を受信するコマンドを送信し、その応答出力をラベルに表示します。問題は、getPortReader() から返された sPortReaderString に何も割り当てられていないため、ラベルが常に空白になることです。sPortReaderString には、EvenListener で値が割り当てられると確信しています。問題は、値が sPortReaderString に割り当てられるのに十分な時間が経過する前に、JFrame のメソッド getPortReader() が呼び出されることです。私のotuputと以下のコードを見てください:
以下は私が得る出力です:
JFrame の portsMethod の短い例:
以下は、私のシリアル ポート クラスの例です。
java - Java/Swing: JPanel 内から Window/JFrame を取得する
JPanel が存在する JFrame を取得するにはどうすればよいですか?
私の現在の解決策は、ウィンドウが見つかるまで、パネルに親 (など) を要求することです。
もっとエレガントな方法はありますか、標準ライブラリのメソッドはそうかもしれませんか?
java - 実行時にフォントを変更する
ローカル変数とJComponentsのタイプがあるかどうかについての知識/関心なしに、AWT / Swing GUI全体に対して、FontUIResourceを使用して実行時にフォントを変更する別の方法がありますか?
。
編集:私はニンバスで物語を投稿し、次にニンバスのコードを投稿しました
java - EventQueue.invokeLater vrs SwingUtilities.invokeLater
誰かがこれら2つの違いと、両方が必要なインスタンスを強調できますか?!
両方を相互に使用するアプリケーションがありますが、一方が他方より優れているかどうかを知りたいです。明らかに彼らは両方とも受け入れますRunnable object
、そして私にとっては-私は私が好きなものを使うことができると思います。
なぜこれら2つの類似した関数が異なるクラスにあるのですか?一方がawtにあり、もう一方がSwingにあることは知っていますが、同じことをしませんか?
java - Webページの他の部分にスクロールする
Webページをレンダリングして、その中の場所にスクロールしようとしています。ただし、スクロールは機能しません。
これは私のコードです...
スクロールが機能しない理由を誰かが理解するのを手伝ってくれませんか。
java - SwingUtilities.invokeLater が期待どおりに機能しない
私は Java で書かれた並行キャンバスに取り組んでいます。これにより、ユーザーは並行してキャンバスに描画していると思うようになります。
ユーザーが認識する並列処理を実現するために、これらの Runnable オブジェクトを作成してもらい、SwingUtilities.invokeLater() を使用して EventQueue に配置します。
それをテストするために、いくつかのスレッドを使用してユーザーをシミュレートし、invokeLater() への各呼び出しの間に少しの遅延 (約 50 ミリ秒) を追加して、実際に描画が並行して行われているように見えるかどうかを確認しました。
問題は、invokeLater() 呼び出しの間に遅延が追加されても問題なく動作していましたが、その遅延を取り除くと、描画が適切に描画されることもあれば、部分的に描画されたり消えたりすることもあれば、描画されないこともあります。
私は何がうまくいかないのかについてかなり困惑しているので、誰かが何かアイデアを持っているなら、私に知らせてください。
以下は、遅延をコメントアウトしたコードです。
乾杯
編集:要求された DrawLineTask のコードは次のとおりです。指定されたパラメーターで標準の Java 関数を使用して線を描画する Runnable クラスの単なる拡張であるため、非常に単純です。
java - SwingUtilitiesはJListを使用してLaterGUIの更新を呼び出す
良い一日、
他のいくつかのスタックオーバーフローの投稿や他のチュートリアルを読みましたが、ボタンが長いプロセスを開始した後、GUIを正しく更新することができません。私が抱えている問題の完全なコードを添付しました。コードを実行すると、forループが繰り返されるたびにではなく、最後にJListが一度に更新されることに注意してください。
どんな助けでも大歓迎です。
java - system.out.println は edt 上にある必要がありますか?
私は、swingworker で印刷を行うコードを実行していました。プリントアウトが得られなかったので使用SwingUtilities.invokeLater
しましたが、今では機能しています。こんな結果になるとは思っていませんでしたが、どうしてこうなったのですか?System.out.println
私はEDTの外で実行できると思っていたでしょう.