根据鼠标位置插入字符 我想在JTextArea里根据鼠标的位置插入一个字符,有高人能指点一下么感激不尽 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不太明白,楼主是想当鼠标移到textarea上的时候,不用获得焦点,直接输入?! 应该要获得焦点吧,比如TextArea里有一段文字,鼠标光标在里面选中一个位置,在那个位置插入个字符 在网上找的, 研究了一下, 很好 <textarea cols="100" rows="10" onmouseup="getValue(this)">你在这里我在哪里</textarea> <input type=text value="abc" onmouseup="getValue(this)"><script language="javascript">function getPosition(obj){ var result = 0; if(obj.selectionStart){ // 非ie result = obj.selectionStart; } else { // ie var rng; if(obj.tagName == "TEXTAREA"){ // 文本区 rng = event.srcElement.createTextRange(); rng.moveToPoint(event.x,event.y); }else{ // 普通输出框 rng = document.selection.createRange(); } rng.moveStart("character",-event.srcElement.value.length); result = rng.text.length; } return result;}function getValue(obj){ var pos = getPosition(obj); alert(obj.value.substr(0,pos)+" [光标在这] "+obj.value.substr(pos,obj.value.length));}</script> 既然获得焦点,鼠标点击后在光标处不是可以直接输入么?楼主不能输入?另:3楼你搞错了,楼主说的JTextArea,不是textArea标签吧。 可以通过1.getCaretPosition获得当前光标位置2.添加CaretListener,监听光标变化事件. public int getCaretPosition()返回文本组件的文本插入符的位置。6楼能具体说下这个返回的int值怎么用?我想把弹出窗口输入的值插入到JTextArea中光标所在的位置 楼主看下是不是这样的import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JTextField;public class Test1121 extends JFrame{ public Test1121(){ setBounds(100, 100, 200, 200); setLayout(null); setDefaultCloseOperation(EXIT_ON_CLOSE); final JTextField text = new JTextField(); text.setBounds(20, 20, 150, 15); add(text); JButton button = new JButton("啊啊"); button.setBounds(20, 60, 70, 20); button.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { String str = text.getText(); StringBuffer buffer = new StringBuffer(str); int pos = text.getCaretPosition(); String info = "插入的字"; buffer.insert(pos, info.toCharArray()); text.setText(buffer.toString()); } }); add(button); setVisible(true); } public static void main(String[] args){ new Test1121(); }} 求java中文语音识别例子 菜鸟弱弱的问一下:为什么java-version运行不了…… eclipse.ui.ifoderlayout 串口读文件出错 如何判断两个char[]数组 内容是否 完全一致呢? java的输入那么麻烦? [散分]Java之父9月12日作客CSDN聊天室,你有什么问题想问他? 学习jsp的配置 有没有java学习的QQ群 如何写判断一个字符串是否符合一个四则运算式的正则表达式 如何用JAVA检查一个日期是否为合法的?????????? 一个关于"&"的疑问
<textarea cols="100" rows="10" onmouseup="getValue(this)">你在这里我在哪里</textarea>
<input type=text value="abc" onmouseup="getValue(this)">
<script language="javascript">function getPosition(obj){ var result = 0;
if(obj.selectionStart){ // 非ie
result = obj.selectionStart;
} else { // ie
var rng;
if(obj.tagName == "TEXTAREA"){ // 文本区
rng = event.srcElement.createTextRange();
rng.moveToPoint(event.x,event.y);
}else{ // 普通输出框
rng = document.selection.createRange();
}
rng.moveStart("character",-event.srcElement.value.length);
result = rng.text.length;
}
return result;
}function getValue(obj){
var pos = getPosition(obj); alert(obj.value.substr(0,pos)+" [光标在这] "+obj.value.substr(pos,obj.value.length));
}
</script>
1.getCaretPosition获得当前光标位置
2.添加CaretListener,监听光标变化事件.
public int getCaretPosition()返回文本组件的文本插入符的位置。6楼能具体说下这个返回的int值怎么用?
我想把弹出窗口输入的值插入到JTextArea中光标所在的位置
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;public class Test1121 extends JFrame{
public Test1121(){
setBounds(100, 100, 200, 200);
setLayout(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
final JTextField text = new JTextField();
text.setBounds(20, 20, 150, 15);
add(text);
JButton button = new JButton("啊啊");
button.setBounds(20, 60, 70, 20);
button.addActionListener(new ActionListener(){ @Override
public void actionPerformed(ActionEvent e) {
String str = text.getText();
StringBuffer buffer = new StringBuffer(str);
int pos = text.getCaretPosition();
String info = "插入的字";
buffer.insert(pos, info.toCharArray());
text.setText(buffer.toString());
}
});
add(button);
setVisible(true);
}
public static void main(String[] args){
new Test1121();
}
}