高飞,这是我写的程序,那个光标还是在前面:(
不过让回车让文本框清空倒是挺简单的,用actionListener就可以了。
你看看吧。import java.awt.*;
import java.awt.event.*;
import java.applet.*;public class Test extends Applet {
private String text;
private TextField text1 = new TextField(10);
private TextField text2 = new TextField(10); public void init() {
add(text1);
add(text2); text1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
text1.setText("");
text2.setText("");
}
});
text2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
text1.setText("");
text2.setText("");
}
}); text1.addTextListener(new TextListener() {
public void textValueChanged(TextEvent e) {
text = text1.getText();
text2.setText(text);
}
});
text2.addTextListener(new TextListener() {
public void textValueChanged(TextEvent e) {
text = text2.getText();
text1.setText(text);
}
});
}
}
不过让回车让文本框清空倒是挺简单的,用actionListener就可以了。
你看看吧。import java.awt.*;
import java.awt.event.*;
import java.applet.*;public class Test extends Applet {
private String text;
private TextField text1 = new TextField(10);
private TextField text2 = new TextField(10); public void init() {
add(text1);
add(text2); text1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
text1.setText("");
text2.setText("");
}
});
text2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
text1.setText("");
text2.setText("");
}
}); text1.addTextListener(new TextListener() {
public void textValueChanged(TextEvent e) {
text = text1.getText();
text2.setText(text);
}
});
text2.addTextListener(new TextListener() {
public void textValueChanged(TextEvent e) {
text = text2.getText();
text1.setText(text);
}
});
}
}
text.append(text2.getText());
这个试试
textArea.setCaretPosition(textArea.getText().length());
就是当每敲一个键释放时激活事件,
在另一个jtextarea里显示刚才击键的字符
这样就会始终同步,不存在设置光标的问题
public void keyReleased(KeyEvent e)
import java.awt.*;
import java.awt.event.*;
import java.applet.*;public class TextArea2 extends Applet {
private TextArea text1, text2;
private boolean IsPostBack1=false;
private boolean IsPostBack2=false;
public void init() {
text1 = new TextArea(5, 25);
text2 = new TextArea(5, 25);
Panel p = new Panel();
p.add(text1);
p.add(text2);
this.add(p);
// handle text area event
text1.addTextListener(new TextListener() {
public void textValueChanged(TextEvent e) {
TextArea t = (TextArea) e.getSource();
if(IsPostBack1!=true){
IsPostBack2=true;
text2.setText("");
text2.append(t.getText());
}
}
});
text2.addTextListener(new TextListener() {
public void textValueChanged(TextEvent e) {
TextArea t = (TextArea) e.getSource();
if(IsPostBack2!=true){
IsPostBack1=true;
text1.setText("");
text1.append(t.getText());
}
}
});
}
}======================================================================
可惜在TextArea里面不能用actionListener
如果用TextField的话,又不能用text.append了。郁闷!要是用键盘事件,如果输入中文又不能同步了吧?
控制JTextArea中的光标位置,设置到最后就可以了。
textArea.setCaretPosition(textArea.getText().length());
textArea.setCaretPosition(textArea.getText().length());
如果你使用的是JTextArea的话 上面的没有问题如果你使用的是TextArea的话 应该在窗体显示之后加用这个语句,否则报出异常的
控制JTextArea中的光标位置,设置到最后就可以了。
textArea.setCaretPosition(textArea.getText().length());
=============================================================================
如果这样的话,光标一直在文本末尾和文本起始处两个地方来回地闪…… 光标地问题已经解决了,只是不能回车清空内容谢谢楼上的各位!!
估计你可以注册键盘键入监听器 监听键盘键入的按键 如果是回车键的话 使用textArea.setText("");语句解决清空问题