Bài 2: Giới Thiệu Lập Trình Giao Diện Đồ Họa Người Dùng (Gui) Bằng Swing

GUI là viết tắt của Graphical User Interface, có nghĩa là Giao diện đồ họa người dùng, là một thuật ngữ trong ngành công nghiệp máy tính. Đó là một cách giao tiếp với máy tính hay các thiết bị điện tử bằng hình ảnh và chữ viết thay vì chỉ là các dòng lệnh đơn thuần. GUI được sử dụng phổ biến trong máy tính, các thiết bị cầm tay, các thiết bị đa phương tiện, hoặc các linh kiện điện tử trong văn phòng, nhà ở…

Đang xem: Giao diện đồ họa người dùng

*

Giao diện đồ họa người dùng (GUI)Phạm vi sử dụng thuật ngữ GUI hầu như chỉ được giới hạn trong các thiết bị có màn hình 2 chiều. Nó ít được sử dụng trong các thiết bị với giao diện có độ phân giải cao như một số thiết bị chơi game (HUD được sử dụng nhiều hơn).GUI được các nhà nghiên cứu tại Xerox PARC phát triển trong thập niên 1970. Ngày nay hầu hết các hệ điều hành máy tính nhiều người dùng đều sử dụng giao diện này.Cha đẻ của GUIDouglas Englebar hiện được xem là cha đẻ của giao diện người dùng đồ họa lúc còn sơ khai. Sau khi tốt nghiệp ngành kĩ thuật điện vào năm 1948, Douglas làm việc tại Viện NACA (NACA Institute, tiền thân của NASA hiện giờ). Sau đó, với mong muốn được làm công việc có thể mang lại lợi ích cho toàn nhân loại, ông đã nghĩ đến việc xây dựng một chiếc máy có thể làm tăng trí tuệ con người.Trong giai đoạn chiến tranh, Douglas làm việc với vai trò là một kiểm soát viên rađa để có thể hình dung ra một thiết bị hiển thị được xây dựng xoay quanh các ống tia cathode mà qua đó người dùng có thể xây dựng các mô hình thông tin một cách trực quan thông qua đồ họa, và họ có thể tương tác với bất cứ những gì họ nhìn thấy. Để có thể thực hiện được ý tưởng này, ông phải tìm nguồn tài trợ. Song, đó không phải là việc dễ dàng mà có thể thực hiện được trong thời gian ngắn.Năm 1955, Douglas đạt được học vị tiến sĩ và vào làm việc tại Học viện Nghiên cứu Stanford (Standford Research Institute), và tại đó ông đã đạt được nhiều bằng sáng chế về “các thành phần tiểu hóa máy tính” (miniaturizing computer components). 1959, ông đã thuyết phục được Lực Lượng Hàng Không Hoa Kì (United States Air Force) hỗ trợ quỹ cho ý tưởng của ông. 1962, ông cho xuất bản luận văn Augmenting Human Intellect với nội dung chính là các ý tưởng mà ông đã ấp ủ. Qua luận văn này, ông khẳng định “máy tính không phải để thay thế trí tuệ con người, mà là để cải thiện nó”. Một trong những ví dụ mà ông sử dụng trong luận văn này là một kiến trúc sư sử dụng một công cụ nào đó tương tự các phần mềm CAD ngày nay để thiết kế nên các tòa nhà.Douglas và các cộng sự của ông tiếp tục làm việc để phát triển các ý tưởng và công nghệ này. Và vào năm 1968, một sự trình diễn công khai được thực hiện trước hơn 1000 các chuyên gia máy tính về những thành quả từ những ý tưởng ban đầu của ông.Lịch sửTiền thânTiền thân của GUI được khai sinh bởi những nhà nghiên cứu tại Standford Research Institute – được dẫn đầu bởi Douglas Engelbart. Khi đó, họ phát triển việc sử dụng những siêu liên kết (hyperlinks) dựa trên chữ cho hệ thống On-Line (One-Line System), trong đó các liên kết được thao tác với một con chuột. Khái niệm siêu liên kết sau đó đã được các nhà nghiên cứu tại Xerox PARC mở rộng sang phạm vi đồ họa.1963, Sketchpad, một hệ thống dựa trên con trỏ (pointer) được phát triển bởi Ivan Sutherland. Hệ thống này sử dụng một cây bút phát sáng để thao tác việc tạo và thao tác với các đối tượng trong các bản vẽ kĩ thuật.Giao diện người dùng PARCGiao diện người dùng PARC gồm các thành phần đồ họa như cửa sổ (window), thực đơn (menu), nút kiểm tròn (radio button), ô kiểm vuông (check box) và các biểu tượng (icon).

Xem thêm: Xem Phim Nhiệt Độ Tình Yêu Tập 21 Vietsub + Thuyết Minh Full Hd, Động Phim

Tiến hóaDựa trên hệ thống tiền thân, lần lượt các hệ thống đồ họa được ra đời. Năm 1981, mô hình điều hành máy tính dựa trên GUI đầu tiên được ra đời là Xerox 8010 Star Information System. Tiếp theo đó là Apple Lisa năm 1983, Macintosh 128K của Apple năm 1984, Atari ST và Commodore Amiga năm 1985. Việc điều khiển đồ họa bằng lệnh (command) được khai sinh khi IBM cho ra đời Common User Access (1987), trong đó các chuỗi lệnh khác nhau sẽ được áp dụng cho các chương trình khác nhau như: phím F3 sẽ kích hoạt chế độ hỗ trợ trong WordPerfect, nhưng nó sẽ đóng chương trình trong các ứng dụng khác của IBM.Tiếp nối sự phát triển của các hệ thống GUI là sự ra đời của các keyboard overlays (tạm dịch, bàn phím cho phép điều chỉnh bố cục chức năng). Đó là những mảnh giấy hay plastic được đặt trong những chỗ trống giữa các phím, nó có nhiệm vụ cung cấp cho người dùng chức năng của các phím khác nhau của các ứng dụng đã được xác định. Có thể hình dung những bàn phím như vậy với những keystroke ngày nay như: Control-Alt-Delete sẽ mở Task Manager trong hệ điều hành Windows, còn trong các hệ thống Unix thì sẽ tắt máy tính.Các hệ thống GUI phổ biến ngày nay là Microsoft Windows, Mac OS X, X Window System trên các PC (Personal Computer), laptop. Ngoài ra còn có sự góp mặt của các thiết bị di động như Symbian, BlackBerry OS, Android, iOS. Các hệ thống này đều được phát triển dựa trên những ý tưởng ban đầu của Xerox, cho nên chúng gần như có các khái niệm tương tự nhau (như button, radio button, menu…)Các thành phần trong GUIMột hệ thống GUI là sự kết hợp của các công nghệ, thiết bị để cung cấp cho người dùng một nền tảng cho phép người sử dụng có thể tương tác với nó.Một chuỗi các thành phần của GUI tuân theo một ngôn ngữ trực quan (visual language) để biểu diễn thông tin được lưu trữ trong các máy tính. Thông dụng nhất khi kể đến sự kết hợp các thành phần như vậy là mô hình WIMP (window, icon, menu, pointing device) trong các máy tính cá nhân.

*

Thành tố điều khiểnThành tố điều khiển (hay ô điều khiển, khiển tố, thành phần điều khiển,…) là một thành phần của GUI mà thông qua chúng, một người sử dụng có thể tương tác với máy tính, thực hiện các thao tác bằng chuột, bàn phím hay thiết bị ngoại vi khác. Ví dụ về ô điều khiển gồm các hộp văn bản hay các cửa sổ.Nguồn gốc Anh ngữCó người cho rằng chữ Anh ngữ widget, có thể là một tổ hợp ghép của hai chữ “window” (cửa sổ) và chữ “gadget” (thành phần). Nhưng điều này không chắc đúng. Chữ “widget” được biết sớm nhất là một hài kịch Beggar on Horseback (1924), của George S. Kaufman và Marc Connelly. Người hùng của câu truyện giữ vai trò một nhà soạn nhạc phải lựa chọn giữa hai con đường hoặc là tạo ra dòng nhạc để phấn khích tâm hồn anh ta (nhưng không nhận thù lao) hay nhận tiền để sống mà phải chấp nhận một cộng việc giết chết tâm hồn trong một xưởng chế tạo các “widget”. Bản văn của tác phẩm nhấn mạnh điệp khúc bộc lộ ý nghĩa của chữ “widget” một cách rõ ràng là món hàng buôn bán đơn thuần không có tính nghệ thuật và giá trị tinh thần.Ở Anh, chữ “widget” còn có thêm một nghĩa khác không thấy ở Hoa Kì. Một “widget” (trong ý nghĩa này) là một thiết bị nhỏ gắn kết vào các thùng bia trong suốt thời gian chúng được sản xuất (chi có trong một số hiệu bia). Những thiết bị này cho phép bia được bảo dưỡng trong nhiệt độ thấp và nó nằm trong chu kì dài mà không cần có sự làm lạnh.Đặc điểmCó loại nhiều loại khiển tố chẳng hạn như:1. Chỉ nhận lệnh và thi hành như các nút điều khiển2. Nhận thông tin như các hộp văn bản3. Chỉ thi hành thao tác khi được lệnh của hệ thống như đồng hồ hẹn giờ (timer)4. Tương tác và thông báo như các hộp thông báo (message box), hộp xác nhận (confirm box), và các gợi ý (tool tip)Các khiển tố thực ra phải hiểu với đặc tính ảo nghĩa là chúng phân biệt với các bộ phận vật lý thông thường khác. Thí dụ: các nút điều khiển ảo chỉ có thể được nhấn bởi chuột, bàn phím hay bằng ngón tay trên màn hình cảm biến (touch screen). Hình ảnh các thành phần điều khiển chỉ để so sánh như các nút bấm ở thế giới thực bên ngoàiMột số khiển tố có thể không thấy được trên giao diện đồ họa nhưng vẩn có tương tác với người dùng qua một hay vài chức năng xác định nào đó. Thí dụ với các phím nóng (hot key control) người ta không thể thấy hình dạng của các khiển tố này nhưng nó được cài đặt để giúp người dùng máy sử dụng bàn phím (thay vì phải nhấp các nút của chuột). Một thí dụ khác về ô điều khiển không thấy được là đồng hồ hẹn giờ (timer) rất thông dụng trong ngôn ngữ VB. Các đồng hồ hẹn giờ này có thể được cài đặt trong chương trình để tự động làm các thao tác theo đúng một khoảng thời gian mà người lập trình muốn.Tùy theo hệ điều hành và chuẩn GUI mà các ô điều khiển và đặc điểm chức năng của chúng có thể khác nhau. Ngoài ra, các ngôn ngữ lập trình hỗ trợ cho việc tạo ra các chương trình có giao diện đồ họa cũng có thể cung cấp thêm các ô điều khiển riêng biệt. Trong hệ thống X Window thì các ô điều khiển thường được hỗ trợ chung trong một tập họp qua các bộ công cụ lập trình. Trong khi đó, các ngôn ngữ lập trình cho Windows thường cung cấp thêm các ô điều khiển bên cạnh những ô điều khiển sẵn có của hệ điều hành.

Xem thêm: Những Câu Nói Bất Hủ Về Tình Yêu Hài Hước Về Tình Yêu, 25+ Câu Nói Hài Hước Nhất Về Tình Yêu

Ví dụCó nhiều loại khiển tố, tùy theo GUI và tùy theo các phần mềm thiết kế sẵn cho các chúng. Danh sách sau đây chỉ liệt kê một số thường dùng.Các nút- Nút điều khiển- Ô đánh đấu (check box)Lựa chọn- Nút chọn (radio button)- Hộp đa hợp(combo box)- Biểu tượng- Thanh công cụ (toolbar)- Trình đơn (còn được dùng phổ biến là thực đơn mặc dù có ý kiến cho rằng cách dùng này không hợp) (menu)+ Trình đơn lệnh, thực đơn lệnh (command menu )+ Trình đơn ngữ cảnh, thực đơn ngữ cảnh (Context menu)+ Trình đơn bánh, thực đơn bánh (Pie menu)- Đệ quy+ Hiển thị dạng cây (tree view)+ Hiển thị dạng lưới (grid view)- Thanh di chuyển/tiến triển+ Thanh cuốn (Scrollbar)+ Thanh tiến trình (Progress bar)+ Thanh điều chỉnh (trackbar )Văn bản- Nhập+ Hộp văn bản (text box)- Xuất+ Gợi ý sử dụng(tooltip)+ Thanh trạng thái (status bar)Cửa sổ- Cửa sổ bắt buộc (Modal window)- Hộp thoại (diaglog box)- Cửa sổ tiện ích (utility window)Khác- Thẻ (tab)- Đồng hồ hẹn giờ (timer)- Danh mục hình (image list)- Lên xuống (Up down)- Phím nóng (hot key).