免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8193 | 回复: 7
打印 上一主题 下一主题

请教:设置文本框中光标的位置 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2004-11-02 08:52 |显示全部楼层

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

是TextField还是JTextField?

论坛徽章:
0
2 [报告]
发表于 2004-11-02 08:52 |显示全部楼层

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

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

论坛徽章:
0
3 [报告]
发表于 2004-11-02 09:31 |显示全部楼层

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


  1. import java.awt.BorderLayout;
  2. import java.awt.Component;
  3. import java.awt.HeadlessException;
  4. import java.awt.TextField;
  5. import java.awt.event.WindowAdapter;
  6. import java.awt.event.WindowEvent;

  7. import javax.swing.JFrame;
  8. import javax.swing.JTextArea;
  9. import javax.swing.JTextField;


  10. public class JTextFieldCursorTest extends JFrame {

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

  12.         /**
  13.          * @param title
  14.          * @throws java.awt.HeadlessException
  15.          */
  16.         public JTextFieldCursorTest(String title) throws HeadlessException {
  17.                 super(title);
  18.                 //uncomment 1,2 or 3 to test caret position for JTextField, TextField
  19.                 // or JtextArea
  20.                 //getContentPane().add(getJtf(), BorderLayout.NORTH); //1
  21.                 //getContentPane().add(getTf(), BorderLayout.SOUTH); //2
  22.                 getContentPane().add(getJta(), BorderLayout.CENTER); //3
  23.                 setDefaultCloseOperation(DISPOSE_ON_CLOSE);
  24.         }

  25.         /**
  26.          * @return
  27.          */
  28.         private Component getJta() {
  29.                 JTextArea jta = new JTextArea();
  30.                 jta.setText(FIELD_CONTENT + " \n\t- JTextArea");
  31.                 jta.setCaretPosition(jta.getText().length());
  32.                 return jta;
  33.         }

  34.         /**
  35.          * @return
  36.          */
  37.         private Component getTf() {
  38.                 final TextField tf = new TextField();
  39.                 tf.setText(FIELD_CONTENT + " - TextField");
  40.                 this.addWindowListener(new WindowAdapter() {
  41.                         public void windowOpened(WindowEvent e) {
  42.                                 tf.setCaretPosition(tf.getText().length());
  43.                         }
  44.                 });
  45.                 return tf;
  46.         }

  47.         /**
  48.          * @return
  49.          */
  50.         private Component getJtf() {
  51.                 JTextField jt = new JTextField();
  52.                 jt.setText(FIELD_CONTENT + " - JTextField");
  53.                 return jt;
  54.         }

  55.         public static void main(String[] args) {
  56.                 JTextFieldCursorTest jtfct = new JTextFieldCursorTest(
  57.                                 "TextComponent Cursor Test");
  58.                 jtfct.setBounds(100, 100, 360, 240);
  59.                 jtfct.show();

  60.         }
  61. }
复制代码

论坛徽章:
0
4 [报告]
发表于 2004-11-02 10:25 |显示全部楼层

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

http://blog.csdn.net/chinasilver/archive/2003/07/07/20997.aspx
这个讲的比较简单。

论坛徽章:
0
5 [报告]
发表于 2004-11-04 20:58 |显示全部楼层

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

这样深入探讨一下还是挺有意思的。

论坛徽章:
0
6 [报告]
发表于 2004-11-05 21:20 |显示全部楼层

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

TextField可以啊。
我的那个程序里就可以啊。只不过调用这个函数的时机不太一样。

论坛徽章:
0
7 [报告]
发表于 2004-11-05 21:37 |显示全部楼层

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

你看我的那个代码的getTf()这个方法:
在主窗口已经显示了之后就可以调用setCaretPosition()

论坛徽章:
0
8 [报告]
发表于 2004-11-13 20:54 |显示全部楼层

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

不客气,希望以后经常交流啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP