<html>
<body>
<script language="javaScript">function logCart(obj)
{
if (obj.createTextRange)
obj.logPos = document.selection.createRange().duplicate();
}function insertAtCaret (objit, text)
{
if (objit.logPos && objit.createTextRange)
{
var logPos = objit.logPos;
logPos.text = logPos.text.charAt(logPos.text.length - 1) == ' ' ? text + ' ' : text;
}
else
{
objit.value = text;
}
}function insertText()
{
if (window.event.keyCode == 9)
{ var sv = "插入字符";
var t = document.getElementById('txtArea');
if (t.logPos)
{
insertAtCaret(t, sv);
}
else
{
sv = "\n" + sv;
t.value += sv;
}
return false;
}
else
{
return true;
}
}
</script>
输入时按tab键,将在光标处加入一个要加入的字符串,使用了记录位置.
<textarea rows="10" name="Log" cols="80" id="txtArea"
ONSELECT="logCart(this);"
ONCLICK="logCart(this);"
ONKEYUP="logCart(this);"
ONKEYDOWN="return insertText();" >
ffffffffffffffffffffffffffffffffffddddddddddddddddddddddddddddddddddssssssssssssssssssssssssssssssssss
</textarea>
</body>
</html>
<body>
<script language="javaScript">function logCart(obj)
{
if (obj.createTextRange)
obj.logPos = document.selection.createRange().duplicate();
}function insertAtCaret (objit, text)
{
if (objit.logPos && objit.createTextRange)
{
var logPos = objit.logPos;
logPos.text = logPos.text.charAt(logPos.text.length - 1) == ' ' ? text + ' ' : text;
}
else
{
objit.value = text;
}
}function insertText()
{
if (window.event.keyCode == 9)
{ var sv = "插入字符";
var t = document.getElementById('txtArea');
if (t.logPos)
{
insertAtCaret(t, sv);
}
else
{
sv = "\n" + sv;
t.value += sv;
}
return false;
}
else
{
return true;
}
}
</script>
输入时按tab键,将在光标处加入一个要加入的字符串,使用了记录位置.
<textarea rows="10" name="Log" cols="80" id="txtArea"
ONSELECT="logCart(this);"
ONCLICK="logCart(this);"
ONKEYUP="logCart(this);"
ONKEYDOWN="return insertText();" >
ffffffffffffffffffffffffffffffffffddddddddddddddddddddddddddddddddddssssssssssssssssssssssssssssssssss
</textarea>
</body>
</html>
int pos = aTextArea.getCaretPosition()
aTextArea.insert("a string", pos)
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class TextAreaTest
{
public static void main(String[] args)
{
TextAreaFrame frame = new TextAreaFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}/**
A frame with a text area and buttons for text editing
*/
class TextAreaFrame extends JFrame
{
public TextAreaFrame()
{
setTitle("TextAreaTest");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); Container contentPane = getContentPane();
buttonPanel = new JPanel(); // add button to append text into the text area JButton insertButton = new JButton("Insert");
buttonPanel.add(insertButton);
insertButton.addActionListener(new
ActionListener()
{
public void actionPerformed(ActionEvent event)
{
textArea.append("The quick brown fox "
+ "jumps over the lazy dog. ");
}
}); // add button to turn line wrapping on and off wrapButton = new JButton("Wrap");
buttonPanel.add(wrapButton);
wrapButton.addActionListener(new
ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
boolean wrap = !textArea.getLineWrap();
textArea.setLineWrap(wrap);
scrollPane.validate();
wrapButton.setText(wrap ? "No Wrap" : "Wrap");
}
});
contentPane.add(buttonPanel, BorderLayout.SOUTH); // add a text area with scroll bars
textArea = new JTextArea(8, 40);
textArea=new JTextArea("This is initial text");
scrollPane = new JScrollPane(textArea); contentPane.add(scrollPane, BorderLayout.CENTER);
} public static final int DEFAULT_WIDTH = 300;
public static final int DEFAULT_HEIGHT = 300; private JTextArea textArea;
private JScrollPane scrollPane;
private JPanel buttonPanel;
private JButton wrapButton;
}