java - jtextfield 默认光标位置

标签 java swing

我正在使用 JTextField 和文本字段的代码。我试图制作一个与记事本一样大的文本字段,但光标总是出现在中间。我想放在文本字段的开头。

tf=new JTextField(50);
tf.setCaretPosition(0);

f.setLayout(new BorderLayout());
f.add(tf,BorderLayout.CENTER);

最佳答案

不是一个很明确的问题。由于您将文本字段添加到 BorderLayout 的中心,文本字段将自动调整垂直和水平大小以填充框架中的可用空间。

默认情况下,光标水平显示在左侧,垂直显示在中间。所以我想垂直对齐就是你所提示的。嗯,我不知道有什么方法可以解决这个问题,因为这是文本字段 UI 的工作方式。

如果您更改文本的字体大小,那么它会显得更大并且插入符号会出现在顶部。

我建议您尝试使用 JTextArea。 Single Line Text Area可能会按照您想要的方式工作。

关于java - jtextfield 默认光标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1351959/

相关文章:

java - (通用类).this.revalidate();在 Mac 上

javax.swing.text.ElementIterator 奇怪的行为

java - Eclipse、subclipse 和 JAR 依赖项

Java - 如何让 jframe 调整到小于设置大小的大小

java - 二维 JPanel [][] 表上的 KeyListener

java - JTable 的 JScrollPane

java - 如何更改 xml 审计文件中的时区(Oracle 11g)?

java - 松开鼠标时线条在绘图程序中消失

java - EJB3 - @Column(insertable ="false") 问题

java - 通过 JMX 为 SSL 配置 VisualVM