如何得到JTextArea文本框得到焦点中的文本 java

1087人阅读
在java中文本编辑器单独设置文字的控件有个JTextPane,而通常使用的JTextArea似乎不能设置所选文字的颜色和字体。
//实例化一个文本编辑的控件
JTextPane editorPane=new JTextPane();
//根据所选颜色进行设置
JColorChooser colorChooser=new JColorChooser();
//得到所选颜色&&&
Color color= colorChooser.showDialog(null, &字体颜色&, Color.BLACK);
//得到编辑器中的文档&&&
Document document= editorPane.getDocument();
//添加一个可以设置样式的类
&&&& StyleContext&& sc&& =&& StyleContext.getDefaultStyleContext();
//为所添加的样式类添加字体颜色
&&&& AttributeSet&& aset&& =&& sc.addAttribute(SimpleAttributeSet.EMPTY,StyleConstants.Foreground, color);
&&&& Font font=new Font(&隶书&,Font.BOLD,30);
//为添加的样式类添加字体&&&&
aset=sc.addAttribute(aset, StyleConstants.Family, font.getFamily());
&& //设置字体的大小
& aset=sc.addAttribute(aset, StyleConstants.FontSize, 30);
&&&& int start= editorPane.getSelectionStart();
&&&& int end=editorPane.getSelectionEnd();
&&&& String str= document.getText(start,end-start);
//由于没找到直接设置所选字的方法,只有先移除原来的字符串&&&&
document.remove(start, end-start);
//重新插入字符串,并按新设置的样式进行插入
&&&& document.insertString(start, str, aset);
&&& } catch (BadLocationException e1) {
&&&& // TODO Auto-generated catch block
&&&& e1.printStackTrace();
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:13041次
排名:千里之外
原创:21篇
(3)(1)(2)(1)(7)(2)(2)(5)(1)(1)如何对JTextArea中的文本进行行数,列数控制?
[问题点数:0分]
如何对JTextArea中的文本进行行数,列数控制?
[问题点数:0分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。用java实现 如何获得多行文本框中,被鼠标拖动选中的部分字符_百度知道
用java实现 如何获得多行文本框中,被鼠标拖动选中的部分字符
jtextarea框中,被鼠标拖动选中的部分字符如何获取到
我有更好的答案
这个恐怕实现不了吧,你可以获得你指定的字符
其他类似问题
多行文本框的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何让文本框不有输入,但可以编辑-java-电脑编程网如何让文本框不有输入,但可以编辑作者:liun_li 和相关&&就是可以用鼠标选择文本框中的内空,然后可以实现复制粘贴------回答---------------其他回答(10分)---------Java code
JTextField text = new JTextField(&&);
text.setEditable(false);
JTextArea area = new JTextArea();
area.setEditable(false);
------其他回答(2分)---------引用 9 楼 liun_li 的回复:引用 6 楼 small_stupid 的回复:Java codeJTextField text = new JTextField(&&);text.setEditable(false);JTextArea area = new JTextArea();area.setEditable(false);这个只能实现不能输入,不能实现编辑,选中框内文字效果吧不能输入 还得能编辑…… 编辑不就是输入么 你还想怎么编辑啊、、------其他回答(1分)---------同意6楼JTextField text = new JTextField(&&);text.setEditable(false);JTextArea area = new JTextArea();area.setEditable(false);------其他回答(1分)---------setEditable(false);这个不就行了么,还等啥------其他回答(1分)---------qq显示的不就是这个样setEditable(false)吗聊天的话注意设置一下鼠标的焦点------其他回答(1分)---------直接设setEditable(false)就可以啊------其他回答(24分)---------Java code
import .awt.event.*;
import x.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
public class Text {
public static void main(final String[] args) {
java.awt.EventQueue.invokeLater(new Runnable(){
public void run(){
final JFrame frame = new JFrame(&Text&);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JPopupMenu pop = new JPopupMenu();
pop.add(new DefaultEditorKit.CopyAction());
pop.add(new DefaultEditorKit.CutAction());
pop.add(new DefaultEditorKit.PasteAction());
final JTextField textfield = new JTextField(20);
textfield.setText(&Hello World!&);
textfield.addKeyListener(new KeyListener(){
public void keyPressed(KeyEvent e) {e.consume();}
public void keyReleased(KeyEvent e) {e.consume();}
public void keyTyped(KeyEvent e) {e.consume();}
textfield.addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent e){
if (e.isPopupTrigger())
pop.show(textfield,e.getX(),e.getY());
frame.getContentPane().add(textfield);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
------回答---------------其他回答(10分)---------Java code
JTextField text = new JTextField(&&);
text.setEditable(false);
JTextArea area = new JTextArea();
area.setEditable(false);
------其他回答(2分)---------引用 9 楼 liun_li 的回复:引用 6 楼 small_stupid 的回复:Java codeJTextField text = new JTextField(&&);text.setEditable(false);JTextArea area = new JTextArea();area.setEditable(false);这个只能实现不能输入,不能实现编辑,选中框内文字效果吧不能输入 还得能编辑…… 编辑不就是输入么 你还想怎么编辑啊、、------其他回答(1分)---------同意6楼JTextField text = new JTextField(&&);text.setEditable(false);JTextArea area = new JTextArea();area.setEditable(false);------其他回答(1分)---------setEditable(false);这个不就行了么,还等啥------其他回答(1分)---------qq显示的不就是这个样setEditable(false)吗聊天的话注意设置一下鼠标的焦点------其他回答(1分)---------直接设setEditable(false)就可以啊------其他回答(24分)---------
Java code
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
public class Text {
public static void main(final String[] args) {
java.awt.EventQueue.invokeLater(new Runnable(){
public void run(){
final JFrame frame = new JFrame(&Text&);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JPopupMenu pop = new JPopupMenu();
pop.add(new DefaultEditorKit.CopyAction());
pop.add(new DefaultEditorKit.CutAction());
pop.add(new DefaultEditorKit.PasteAction());
final JTextField textfield = new JTextField(20);
textfield.setText(&Hello World!&);
textfield.addKeyListener(new KeyListener(){
public void keyPressed(KeyEvent e) {e.consume();}
public void keyReleased(KeyEvent e) {e.consume();}
public void keyTyped(KeyEvent e) {e.consume();}
textfield.addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent e){
if (e.isPopupTrigger())
pop.show(textfield,e.getX(),e.getY());
frame.getContentPane().add(textfield);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
相关资料:|||||||如何让文本框不有输入,但可以编辑来源网络,如有侵权请告知,即处理!编程Tags:                &                    }

我要回帖

更多关于 文本框得到焦点 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信