阅 读 文 章

请教:设置文本框中光标的位置

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(白色乌鸦) | 时间:2007-05-27 | 浏览:人次 ]


我有个文本框,这个文本框中初始化了一串字符,我想打开窗口时,默认光标位置正好紧跟在那一串字符的后面.

请问:可实现吗? :em14:  :em14:  :em14: 

能不能大致说下呀?

谢谢 :)  :)  :)



 sakulagi 回复于:2004-11-02 08:52:00

是TextField还是JTextField?


 sakulagi 回复于:2004-11-02 08:52:39

如果是JTextField可以用:
JTextField.setCaretPosition(JTextField.getText().length())


 白色乌鸦 回复于:2004-11-02 09:10:05

她用的是JTextArea,我查了下jdk文档,JtextArea没有继承这个方法,


 sakulagi 回复于:2004-11-02 09:31:34


import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.HeadlessException;
import java.awt.TextField;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JTextField;


public class JTextFieldCursorTest extends JFrame {

private static final String FIELD_CONTENT = "Cursor should reside at the end of line";

/**
 * @param title
 * @throws java.awt.HeadlessException
 */
public JTextFieldCursorTest(String title) throws HeadlessException {
super(title);
//uncomment 1,2 or 3 to test caret position for JTextField, TextField
// or JtextArea
//getContentPane().add(getJtf(), BorderLayout.NORTH); //1
//getContentPane().add(getTf(), BorderLayout.SOUTH); //2
getContentPane().add(getJta(), BorderLayout.CENTER); //3
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}

/**
 * @return
 */
private Component getJta() {
JTextArea jta = new JTextArea();
jta.setText(FIELD_CONTENT + " \n\t- JTextArea");
jta.setCaretPosition(jta.getText().length());
return jta;
}

/**
 * @return
 */
private Component getTf() {
final TextField tf = new TextField();
tf.setText(FIELD_CONTENT + " - TextField");
this.addWindowListener(new WindowAdapter() {
public void windowOpened(WindowEvent e) {
tf.setCaretPosition(tf.getText().length());
}
});
return tf;
}

/**
 * @return
 */
private Component getJtf() {
JTextField jt = new JTextField();
jt.setText(FIELD_CONTENT + " - JTextField");
return jt;
}

public static void main(String[] args) {
JTextFieldCursorTest jtfct = new JTextFieldCursorTest(
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 位置 标的 文本 设置 请教 回复 peer 白色 乌鸦 sakulagi

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.