JLabelからのテキストの選択を有効にすることはできますか?そうでない場合は、使用するのに最適な代替コントロールは何ですか?また、JLabelのように表示するように設定する方法はありますか?JLabelからテキストを選択しますか?
答えて
JLabelsは編集できません。
しかし、JTextFieldを使用して、前景/背景の色を変更してJLabelとして表示することができます。本当に気に入ったのであれば、編集可能であることを示すように選択されたときに色を変更するコードを追加することができます。 f.setBorder(null);
と無効にしたテキストの色を設定します。
あなたはJTextFieldのを使用する場合は、ピエール
、あなたはまた、国境を削除したいと思うでしょう編集
JTextField f=new JTextField("Hello World");
f.setEditable(false);
content.add(f);
を有効にしないのJTextFieldを使用することができます:f.setDisabledTextColor(Color.black);
応答の建物: あなたは、私が(プログラム的に)あなたがそれを選択したときに「ジャンプ」からテキストを停止、またはテキストを交換する方法がわからない編集
JTextField f=new JTextField("Hello World");
f.setEditable(false);
f.setBackground(null); //this is the same as a JLabel
f.setBorder(null); //remove the border
を有効にしないのJTextFieldを使用することができます。たぶん私のコンピュータなのかもしれません...
JTextFieldでは、JLabelのようなHTML形式のテキストは許可されていません。あなたが選択可能なHTMLテキストをしたい場合は、代わりにHTML形式に設定JTextPaneのを試みることができる:CopyableLabel以下の変形例として
JTextPane f = new JTextPane();
f.setContentType("text/html"); // let the text pane know this is what you want
f.setText("<html>Hello World</html>"); // showing off
f.setEditable(false); // as before
f.setBackground(null); // this is the same as a JLabel
f.setBorder(null); // remove the border
この投稿は、通常、JLabelに表示されるものと一致するようにフォントを取得するための有用な提案です。https://explodingpixels.wordpress.com/2008/10/28/make-jeditorpane-use-the -system-font/ –
'setBackground(null);の代わりに' setOpaque(false); 'も使うことができます – user12458
これは使い慣れているので、テキストにスタイルを追加することができます。私が嫌うのは、もはやSwingノーマルフォントを使用しないということだけです。 –
はJLabelのようなHTMLタグやフォントをサポートしています。
public class CopyableLabel extends JTextPane {
private static final long serialVersionUID = -1;
private static final Font DEFAULT_FONT;
static {
Font font = UIManager.getFont("Label.font");
DEFAULT_FONT = (font != null) ? font: new Font("Tahoma", Font.PLAIN, 11);
}
public CopyableLabel() {
construct();
}
private void construct() {
setContentType("text/html");
setEditable(false);
setBackground(null);
setBorder(null);
putClientProperty(JEditorPane.HONOR_DISPLAY_PROPERTIES, true);
setFont(DEFAULT_FONT);
}
}
- 1. テーブルセルから値/テキスト/数値を選択しますか?
- 2. 選択値から選択した値を選択します。
- 3. DataGridViewComboBoxColumnから値とテキストを選択します。C#
- 4. jQuery、HTMLからテキストを選択
- 5. 選択値からテキスト値をコピー
- 6. テキスト選択からポップオーバーを作成
- 7. Jlistコンポーネントからテキストを選択
- 8. table1から行を選択し、table2から(row = row_from_table1)を選択します。
- 9. マウスでiframeからテキストを選択し、divで選択を表示
- 10. エンティティフレームワーク - 選択したエンティティからIDを選択します。
- 11. transferHandlerを使用してJLabelからJTableにテキストをドラッグアンドドロップします
- 12. ViewModelからTextBoxのテキストをフォーカスして選択する方法
- 13. uiwebviewから選択したテキストを取得するXcode
- 14. 選択したテキストからサイト文書をトラバースする
- 15. system.web.mvc.selectlistから選択したテキストを取得する方法
- 16. ブラウザから選択したテキストを取得する
- 17. テキストの選択からUI要素の「急な」クリックを防止しますか?
- 18. divのテキストの整列をドロップダウン選択から変更しますか?
- 19. 選択された値を選択します。データベースからアイコンフラグ
- 20. Mysqlは選択から行を選択します
- 21. SelectFieldはドロップダウンから選択を選択します
- 22. JTextPaneで選択したテキストを選択解除します
- 23. ハイブエラー - テーブルから*を選択します。
- 24. JPA(選択)から選択
- 25. Pythonを使用してウェブページから特定のテキストを選択
- 26. vim:選択したテキストをコマンドラインに挿入しますか?
- 27. 選択したテキストをSwing Javaアプリケーションにコピーしますか?
- 28. ContentEditable DIVで選択したテキストを取得しますか?
- 29. 入力テキストから選択したテキストを削除するには?
- 30. JScrollpaneから選択したテキストを削除
f.setCaretPositionは(0)(0) '私のテストでは、 "ジャンプ" を防ぐことはできませんでしたsetCaretPositionが' @fredsmith選択 –
上のテキストを 'ジャンプ' することは避けてください。これは: 'f.setMinimumSize((int)f.getPreferredSize()。getWidth()+ 1、(int)f.getPreferredSize()。getHeight()));' –
これはhtmlのようには見えませんこの実装では有効になっています –