是否可以启用从JLabel中选择文本?如果不是,那么最好使用哪种替代控件,以及如何将其配置为像JLabel一样?从JLabel中选择文本?
24
A
回答
1
JLabels不可编辑。
但是,您可以使用JTextField并只更改前景/背景颜色以使其显示为JLabel。如果你想成为真正的幻想,你可以添加代码来改变颜色,当它被选中时表示它是可编辑的。
13
您可以使用一个JTextField而不启用编辑
JTextField f=new JTextField("Hello World");
f.setEditable(false);
content.add(f);
皮埃尔
6
使用的JTextField,你也将要删除边框: f.setBorder(null);
,并设置禁用文本颜色:f.setDisabledTextColor(Color.black);
10
建立在答案上: 您可以使用一个JTextField而不启用编辑
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
我不知道如何从“跳楼”停止文本,当你选择它,或替换文字(编程)。也许这只是我的电脑...
25
JTextField不允许HTML格式的文本,如JLabel。如果你想选择的HTML文本,你可以尝试或者一个JTextPane中设置为HTML格式:
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
3
如下CopyableLabel变种支持HTML标签和字体作为JLabel的。
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. JLabel中的文本对齐
- 2. 在JLabel中换行文本
- 3. Android:如何从webview中选择文本
- 4. Python:从文本中选择单词
- 5. jQuery从HTML中选择文本
- 6. 从DataGridViewComboBoxColumn中选择值和文本c#
- 7. 从文本框中选择单词
- 8. 从Jlist组件中选择文本
- 9. UI的选择如何从文本中多选择下拉
- 10. 在JComboBOX中选择项目时无法将文本设置为JLabel
- 11. 选择文本
- 12. 选择文本
- 13. 选择文本
- 14. 选择文本
- 15. 选择文本
- 16. 从文本文件填充选择框
- 17. 检测UIWebView文本选择中的文本选择更改
- 18. 文本框中的文本选择
- 19. 如何从文本区域中选择文本作出反应?
- 20. 在WebView中选择文本?
- 21. 在QTextBrowser中选择文本
- 22. 选择文本在Android中
- 23. CCombo中的文本选择
- 24. JLabel文本是乱码
- 25. JLabel更改文本事件
- 26. JLabel的文本移出JPanel
- 27. JLabel HTML文本忽略setFont
- 28. 更新JLabel文本错误
- 29. JLabel - 如何隐藏文本?
- 30. 使用jQuery选择器从选择列表中获取选定的文本
f.setCaretPosition(0)应避免选择 – 2011-12-15 05:42:16
@fredsmith`setCaretPosition(0)`没有阻止在我的测试中 “跳” '跳' 的文字。这确实:`f.setMinimumSize(new Dimension((int)f.getPreferredSize()。getWidth()+ 1,(int)f.getPreferredSize()。getHeight()));` – 2014-06-02 16:59:40