私のアプリでは、長めのラベルがあります。中国語ではラベルがオーバーフローし、他のコンポーネントも押し出します。これは中国語OSでのみ観察されています。オーバーフローするコンポーネントを検出して処理するにはどうすればよいですか?スイングでオーバーフローするコンポーネントを扱う
0
A
答えて
0
これは、ウィンドウサイズと言語によっては、これが問題であると推測しています。あなたができるテキストが長い超えて
// get metrics from the graphics
FontMetrics metrics = graphics.getFontMetrics(font);
// get the height of a line of text in this font and render context
int hgt = metrics.getHeight();
// get the advance of my text in this font and render context
int adv = metrics.stringWidth(text);
場合(あなたは、帽子から撤退しなければならない):
はたぶん、あなたは望んでいないものを、しかし、あなたは、このようなテキストのサイズを確認することができますそれがわかっている場合は切り捨て、場合によっては省略することもできますし、アイコンで置き換えて、ツールチップを使用してフルテキストを表示することもできます。
1
JComponentにはsetMaximumSizeメソッドがあります。使用しているLayoutManagerによっては、結果が異なる場合があります。レイアウトレベルでこのような制約を設定するには、SpringLayoutをチェックしてください。
0
JTextAreaは余分なコードを付けたラベルのように動作させることができますが、省略記号(...)で省略するのではなく、必要に応じて行の上にテキストを折り返します。ラッピングを考慮してUIをデザインします。
JTextArea label = new JTextArea();
label.setText(text);
label.setWrapStyleWord(true);
label.setLineWrap(true);
label.setEnabled(false);
label.setOpaque(false);
関連する問題
- 1. スイングではマルチボタンプレスはどのように扱われますか?
- 2. どのようにサイレントmysqlのsum()整数オーバーフローを扱う?
- 3. Facebookはテキストのオーバーフローをどのように扱いますか?
- 4. Javaスイングで別のコンポーネントとイベントを送受信する方法
- 5. Javaスイングで循環進捗コンポーネントを作成する方法
- 6. デシベルメータータイプのコンポーネント/ウィジェットを扱うには?
- 7. Vue.jsの兄弟コンポーネントをRailsで扱うには?
- 8. Angular2 1つのコンポーネントで複数のビューを扱う
- 9. スイング:コンポーネントの背景に関する問題
- 10. 実行時にコンポーネントのスイングを変更することができます
- 11. スイング:コンポーネントの高さをコンテナの高さに設定するにはどうすればよいですか?
- 12. ReactDOMのないReactコンポーネントのオーバーフローを検出する方法は?
- 13. JavaスイングとWindowsのテキストサイズ:コンポーネントのサイズを固定
- 14. スイング:GUIは私のコンポーネントを表示しません
- 15. スイング:コンポーネントの動きを制限するとき、コンポーネントのちらつきや振動を防ぐにはどうすればよいですか?
- 16. スイングでドラッグ&ドロップ
- 17. スイングでのメモリリーク
- 18. どのようにスイング
- 19. スウィングがコンポーネントをスイングするのを遅らせるのを待っているのはなぜですか?
- 20. スイング:コンポーネントの下にあるグラフィック情報を読み取る方法は?
- 21. スイングUI:表示されていないコンポーネントはアクティブなままです
- 22. スイングでアブソリュートレイアウトのスクロールバーを使用する
- 23. スイングでダイアログボックスをJButtonにバインドする
- 24. スイングでレシートパネルを設計するには?
- 25. スイングをSQLで接続する
- 26. スイングGUIでセレンをコントロールする
- 27. スイング/ awtでJavaを 'ドット/ピクセル'にする
- 28. スイングでタイルマップイメージを分割する
- 29. スイングでグリッドを作成する(Netbeans)
- 30. スイングでテーブル更新イベントをキャンセルする
これは私の目的にとって最適な解決策です。 1つのラベルがあふれていますが、タイトルボーダーもあふれています。したがって、myComponent.getFontMetrics(フォント)を使用して、特定の長さ以上の場合はツールチップを挿入するとうまくいきますが、理想的ではありません。 –