当前位置: 首页 > 知识库问答 >
问题:

MVC使用swing,如何让模型要求用户输入?

锺离良哲
2023-03-14

我有一个MVC应用程序,其中Controller启动了一个线程,并在View中启动了一个progressbar(操作发起),并调用Model来查看在View中选择的数据列表并以某种方式处理它。

现在,当模型正在检查数据时,它遇到一个或多个条目,由于某种原因,他希望用户确认这些条目。使用MVC应该如何处理这一点?
注意控制器可以处理多个视图,其中哪一个应该负责用户输入,如何区分它们,...?

共有1个答案

吴欣然
2023-03-14

应在视图中尽早处理验证输入。视图可以查询模型以验证上下文中的条目。作为一个具体的例子,这个inputverifier重写verifier()以确保数字输入,但它也可能要求模型进行额外的检查,也许是与其他模型属性进行比较。例如,

@Override
public boolean verify(JComponent input) {
    try {
        value = Double.parseDouble(field.getText());
        return model.isValid(value); // also check model
    } catch (NumberFormatException e) {
        return false;
    }
}
 类似资料:
  • 我已经看了这个程序几个小时了,但我仍然不明白其中的逻辑。程序要求用户输入整数。 一旦用户输入了整数,它将向用户输出所有的正数、负数和输入的总数,以及这些数字的平均值。 这是我陷入困境的地方: 然后它会询问用户是否要继续。用户将输入或以指示他们是否要继续。如果用户输入“y”,循环将再次进行,如果他们输入“n”,它将显示再见消息。我不知道如何设置。 我已经尝试了一个 do while 循环,我目前正在

  • 假设我有一个swing GUI,它有textfeild和button。当我单击按钮时,我希望将该值保存在db中的文本中,并返回joptionpane“成功”消息。 我使用的方法是 Model:JDBC class View:GUI:在按钮的“action performed”操作中,我使用参数调用save方法。 控制器:编写保存方法。 我就是这样开始的。但后来我明白这不应该是这样的,这是完全不安全

  • 我正在尝试为我的频道制作IRC机器人。我希望机器人能够从控制台接收命令。为了让主循环等待用户输入内容,我添加了循环: 这似乎不起作用。我听说过BufferedReader,但我从未使用过,也不确定这是否能解决我的问题。

  • 我正在写一个叫做hangman.py的程序。在我的程序中,用户不能在我的输入中输入“?”或空白。例如,用户不能输入“?xx?xx?”或“我该怎么做”。但用户可以输入诸如“ldkdjgg”或“stop-go”之类的内容。如果用户输入诸如“?xxxxx”或“我该怎么做”之类的内容,我必须不断询问用户请输入一个不包含的要猜测的单词?或空白:“.我的问题是如何打印”请输入一个不包含字符的要猜测的单词?或空

  • 我已经创建了一个控制台应用程序,现在开始将其转换为摇摆应用程序。我有一个问题,我搜索了很多次,但我没有找到任何答案。 我的应用程序有一个类来验证用户的输入,如果输入错误,它会向控制台发出错误消息。所以我尝试做的是,我有一个Jtextfield并验证这个输入,如果输入错误,它应该给我错误消息。 这是我的Input类,用户可以在其中编写 这是我的输出类方法 我只是想知道我可以使用输入类的验证,还是应该

  • 我需要使用while循环来询问用户一个介于1-100之间的数字,如果用户输入的数字是负数或超过100,我会告诉用户他们输入了错误的数字。这是我到目前为止的情况。每当我运行它时,它都会要求用户输入。当输入为负数或大于100时,它表示无效数字,而当用户输入为45时,当0-100之间的数字有效时,它仍表示无效数字。我不认为这是阅读代码的最后一部分。