当前位置: 首页 > 面试题库 >

如何获取将Document放置在其中的JTextField名称?

贺光华
2023-03-14
问题内容

是否也有类似event.getSource的东西用于DocumentListener?我试图更改仅一个JTextField的颜色,在其中更改文本。这是我的DocumentListener:

DocumentListener posluchac = new DocumentListener() {
        public void changedUpdate(DocumentEvent e) {
            warn(e);
        }
        public void removeUpdate(DocumentEvent e) {
            warn(e);
        }
        public void insertUpdate(DocumentEvent e) {
            warn(e);
        }
        public void warn(DocumentEvent e) {
            txtName.setBackground(Color.WHITE);
            txtSurname.setBackground(Color.WHITE);
            txtPersonalNumber.setBackground(Color.WHITE);
            txtDateOfBirth.setBackground(Color.WHITE);
        }
    };

如果没有与.getSource()DocumentListener 类似的东西。怎么做?


问题答案:

你是正确的,没有getSource()像其他一些听众,但你可以使用文档类的putProperty(),并getProperty()达到你在找什么。

你可以做

JTextField jTextField = new JTextField("Text 1");
jTextField.getDocument().putProperty("parent", jTextField);

稍后在DocumentListener的事件中,您可以像这样获取父对象

JTextField textField = (JTextField) e.getDocument().getProperty("parent");

e在哪里 DocumentEvent



 类似资料:
  • 我在写一个简单的信息管理程序的代码。我在Java swing GUI中遇到了麻烦。在这段代码中,我计划在Northpanel_center中使用JTextField字符串,以便在NorthPanel_East中使用。但我不能用它。 要补充的是,类似这样的搜索方法。

  • 问题内容: 这是我的配置: 回波用于测试。我隐藏了IP。 我正在尝试通过NGiNX从Redis获取会话数据。这就是为什么我安装HttpRedis的原因。 我不了解的是如何从Redis获取数据,然后将其放入变量中。所以我可以随便使用它。 问题答案: 使用NGiNX-Eval-Module:https : //github.com/vkholodkov/nginx-eval- module 这是您的操

  • 问题内容: 鉴于以下HTML: 我想坚持到底。 不使用绝对定位就可以实现吗?如果float属性支持’bottom’的值,那似乎可以解决问题,但是不幸的是,事实并非如此。 问题答案: 可能不会。 分配给,然后分配给。

  • 问题:我想知道是否可以从DocumentFilter获取JTextfield类型 我读过java文档,搜索了很多,但没有找到任何信息。 需要:我在两个JTextfields上设置了相同的DocumentFilter。当事件发生时,在DocumentFilter的“replace”方法中,我想知道哪个textfield导致了事件。 用例:我有大约15个文本字段(未来可能会增加),我希望对所有这些字段

  • 假设我有一个Jextfield数组(例如JTextfield[10])。我将它们添加到框架中。现在用户在文本字段中随机输入文本,例如用户首先输入索引为5的文本字段,然后是9,然后是2,依此类推。不一定要填充所有的文本字段。 我的问题是,如何获取文本字段的索引,并在用户输入文本时同时打印索引,这意味着如果用户在文本字段中输入索引5,我应该能够获得索引5,然后如果填充了索引9的文本字段,则打印9,依此

  • 当然抱歉我的英语不好。我正在制作一个窗口,其中有一个面板和一个窗体中的面板。该面板使用distribution manager“GridBagLayout”,我可以正确分发组件。我的问题是,在填充文本字段时,键入(JTextField)会放大字段,并且不会保留其大小。从图中可以看出,介绍“品牌”的字母越来越多,“品牌”领域也越来越大。我正在与NetBeans合作,如果有人发生了或知道可能是什么问题