UI设计师必知:6大GUI设计原则

UI设计师必知:6大GUI设计原则,第1张

图形用户界面已经成为用户界面的最佳选择。然而 ,尽管 G U I 出乎意料的很受欢迎 ,却很少有几个应用程序具有良好的界面设计。此外 , 通过现有的资料去解释什么是好的、直观的 *** 作界面 , 是极其困难的。本文主要描述好的界面的基本规则。

1. 要了解用户

应用软件必须反映出用户的想法和行为特点。要充分了解用户 ,开发者必须首先了解人 ,因为我们都有着共同的特点。人通过辨识比强记更容易学习知识。一般人能完整记得大约2000至3000个词的话 , 但能识别到五万多字。与其提供一个清单、数据值 ,供用户选择 ,不如让用户记住关键按键。

2. 要注意理解的不同角度

当涉及到图标设计或应用软件整体设计 ,许多设计师在不知不觉中落入角度的陷阱。最近 , 我看到了一个显示“卷起来 ”的总数为一种会计系统图标设计。为了显示这个功能 ,设计师花了很多工夫创造一个有图标类似于卷轴。不幸的是 ,从设计师的角度来看 ,即使这是完全直观的 ,该系统的用户还是不知道图标想隐喻的是什么。

3. 使界面设计更清晰

对于终端用户 , 应用程序的GUI. 图形界面往往不太明确的。其中一个有效的途径 , 就是开发和使用保留字列表以增加应用软件的清晰度。大多用户有一个共同的不满 , 就是应用软件中有些条款不明确或一致。

4. 设计一致性

好的图形界面设计应该沿用其他一些已获得成功、认可的应用软件的经验和设计 ,并保持这些设计的一致性。当编写商业应用的软件时 , 应该为用户提供尽可能多的成功设计的一致性的设计。

5. 提供视觉反馈

如果你曾尝试过凝视鼠标沙漏等待程序执行结束 , 你就能体会到缺乏视觉反馈所带来的沮丧感。你的用户很希望能知道他们程序执行结束到底要等待多久。一般来说 ,当程序执行完成需要超过7到10秒时 ,大多数用户希望有一个信息对话框与进度指示能给予提示。

6. 提供声音反馈

这个提示的声音当作是环境噪音的一部分。同样的情况也出现在GUI的设计里面。然而 ,声音反馈在需要提醒用户的一个迫在眉睫的严重问题情况下 ,还是非常管用的 ,比如说当某个程序进一步运行可能造成数据的丢失 , 这时候提供警报的声音反馈就极为必要。所以GUI设计中 ,除了当发生错误而必须加以处理的情况 ,我们应该设定允许用户禁用音频反馈。

效果图

参考代码

//导入swing图形界面开发常用的3个包

import java.awt.*

import java.awt.event.*

import javax.swing.*

public class AddFrame extends JFrame implements ActionListener {

JTextField jtf1, jtf2, jtf3

public AddFrame() {

JPanel jpcenter = new JPanel(new GridLayout(3, 2)) //创建面板,设置布局为3行2列的网格布局

JLabel jl1 = new JLabel("First Number:")

jtf1 = new JTextField()

jpcenter.add(jl1)

jpcenter.add(jtf1)

JLabel jl2 = new JLabel("Second Number:")

jtf2 = new JTextField()

jpcenter.add(jl2)

jpcenter.add(jtf2)

JLabel jl3 = new JLabel("The Sum:")

jtf3 = new JTextField()

jtf3.setBackground(Color.WHITE) // 文本框背景色为白色

jtf3.setEditable(false)// 文本框不许编辑

jpcenter.add(jl3)

jpcenter.add(jtf3)

add(jpcenter,BorderLayout.CENTER)//窗口默认布局为BorderLayout .把jpcenter放到窗口的中间

JButton jbAdd = new JButton("Add")

jbAdd.addActionListener(this)//添加点击事件的处理

add(jbAdd, BorderLayout.SOUTH)//把按钮放到窗口的南面

setTitle("Add Calculator")

setSize(350, 200)

setLocationRelativeTo(null)//窗口居中

setDefaultCloseOperation(EXIT_ON_CLOSE)//点击右上角的关闭按钮时,结束程序

}

//点击按钮时处理该事件

public void actionPerformed(ActionEvent e) {

try {

double num1=Double.parseDouble(jtf1.getText())

double num2=Double.parseDouble(jtf2.getText())

jtf3.setText(num1+num2+"")

}catch (Exception ex) {

//输入了字母汉字,不符合规范的输入时进行提示

JOptionPane.showMessageDialog(this, "输入了错误的字符或者格式,请输入数字", "错误!", JOptionPane.ERROR_MESSAGE)

}

}

public static void main(String[] args) {

new AddFrame().setVisible(true)//创建窗口并可见

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11835549.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存