【问题标题】:Java - How to make a textField dimensions change based on the length of text entered?Java - 如何根据输入的文本长度更改文本字段的尺寸?
【发布时间】:2016-06-18 10:24:34
【问题描述】:

我正在尝试根据用户输入的文本更改 JTextField 的宽度/高度。

JTextField tf= new JTextField(20);
    tf.getDocument().addDocumentListener(new DocumentListener(){
        @Override
        public void changedUpdate(DocumentEvent arg0) {
            // TODO Auto-generated method stub
            tf.resize(tf.getDocument().getLength(),tf.getDocument().getLength());
        }


        });

有没有办法在输入文本时改变它的尺寸,同时也相应地改变框架的尺寸?

【问题讨论】:

  • 你不应该……人们习惯于在他们输入很多内容后让他们的文本向左滚动。此外,您以后还会遇到更多布局问题。
  • 是的,但也有许多示例,其中文本字段的高度动态变化并且还格式化输入的文本(例如,当当前文本行达到特定宽度/长度时添加返回)。有没有简单的方法可以做到这一点?
  • 请编辑您的问题以引用所提到的示例,并包含一个minimal reproducible example,以显示您当前的方法。

标签: java swing jtextfield


【解决方案1】:

如果您也可以访问框架,则可以通过在调整文本字段大小后调用 pack() 来缩放框架以包含文本字段。

【讨论】:

    猜你喜欢
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    相关资源
    最近更新 更多