Java modal对话框,什么是「模态框」?

在上面的词汇基础上理解模态框的概念,它指的应当是「某种特定状态下的窗体」。

但什么是「特定状态下」?仍然有些难以理解。这是因为我们缺了「模态框」使用的语境,在相应的语境下才能让我们的理解完整。

「模态框」这个词是软件设计领域的词汇,可以先看看普通的软件使用流程:在使用软件的时候,我们一般都会按照自己的思路以及软件内在的逻辑一步步操作,比如我们在使用一个购物系统,我们会按照我们对这个软件的固有理解来执行自己脑中的流程:选购商品,加入购物车,下单付款等等。这些流程可以说是我们使用软件时的一种「正常状态」

「模态框」这种『特定状态下的窗体』正是相对于上面叙述的这种『正常状态』来说的。模态框是处于一种特定状态下的窗体,它会把我们从正常状态中中断出来,将关注点放在这个特定状态的处理上。可以看看模态框的实际表现:当模态框出现的时候,它会屏蔽掉所有其他操作,用户可关注的范围只限于当前的模态框内部,除非你特意去关闭这个模态框,结束这种中断,回到原先正常的流程中去。

上面所描述的就是模态框的核心思想。其实准确地说,模态框是一个UI设计领域的概念,维基百科的定义是:

model window

In user interface design, a modal window is a graphical control element subordinate to an application's main window which creates a mode where the main window can't be used. The modal window is a child window that requires users to interact with it before it can return to operating the parent application, thus preventing the workflow on the application main window.

在 UI 设计中,模态窗口是附属于主窗口的图形控制元素,它创建了一种状态模式,在这种状态模式下,主窗口无法被直接访问。当模态框出现之后,如果用户想要再回到主窗口操作,就必须先与模态框自身进行交互,也就是通过这样的形式中断了应用程序主窗口的正常工作流。

Modal windows are commonly used in GUI systems to command user awareness and to display emergency states, although they have been argued to be ineffective for that use. Modal windows are prone to produce mode errors.

在GUI系统中,模态窗口通常用于提醒用户以及展示一些危险的操作状态,尽管有争论说这种提醒方式是无效的,因为模态框会倾向于让用户产生固定模式错误。



当然模态框这种设计理念,暗含着一种强制性的思路。它强制用户的关注点从正常思维流中抽出来,来关注模态框内的内容,有些强制思考的意味。这种设计理念一般用在比较危险的操作的提示上,比如要删除某些资源等。其实对模态框的批评多种多样,主要是批评这种强制性的设计思路,以及它是否应被更好的方案代替等等,更有些观点宣称模态框是「邪恶的」。关于这些批评,可以参考下面一些资料:

你可能感兴趣的:(Java modal对话框,什么是「模态框」?)