1 00:00:00,000 --> 00:00:00,270 2 00:00:00,270 --> 00:00:03,170 >> SPEAKER 1: Hãy viết một chương trình với một giao diện người dùng đồ họa cũng như 3 00:00:03,170 --> 00:00:07,240 một trường văn bản cho phép người sử dụng gõ vào một số chuỗi và nhấn Enter, tại 4 00:00:07,240 --> 00:00:09,920 mà điểm chuỗi đó là cung cấp cho chương trình của tôi. 5 00:00:09,920 --> 00:00:13,360 Giống như GetString trong Thư viện CS50 hoạt động, nhưng lần này với một 6 00:00:13,360 --> 00:00:14,880 giao diện người dùng đồ họa. 7 00:00:14,880 --> 00:00:16,180 Chúng ta hãy bắt đầu. 8 00:00:16,180 --> 00:00:19,810 >> Tôi đã viết một số mã xương, vì vậy bây giờ chúng ta điền vào một trống. 9 00:00:19,810 --> 00:00:22,770 GTextField, gọi đó là lĩnh vực. 10 00:00:22,770 --> 00:00:25,790 Gán cho nó giá trị trả về của newGTextField. 11 00:00:25,790 --> 00:00:28,790 Và xác định rằng tôi muốn xem 10 ký tự từ người sử dụng trên 12 00:00:28,790 --> 00:00:30,440 màn hình tại một thời điểm. 13 00:00:30,440 --> 00:00:35,720 >> Chúng ta hãy tiếp cuộc gọi setActionCommand, đi qua trong lĩnh vực, đi qua trong nói, 14 00:00:35,720 --> 00:00:39,330 quote unquote "đầu vào". Nói cách khác, chúng ta hãy liên kết với trường văn bản này 15 00:00:39,330 --> 00:00:43,620 chuỗi duy nhất "đầu vào". chỉ trong trường hợp của tôi giao diện người dùng có nhiều văn bản 16 00:00:43,620 --> 00:00:47,260 lĩnh vực, chuỗi này sẽ độc đáo xác định này. 17 00:00:47,260 --> 00:00:53,000 >> Chúng ta hãy tiếp cuộc gọi addToRegion, đi qua trong cửa sổ, đi qua trong lĩnh vực, đi qua 18 00:00:53,000 --> 00:00:56,780 trong quote unquote "SOUTH", một độc đáo định danh quy định tại Stanford 19 00:00:56,780 --> 00:00:59,680 Thư viện di động mà quy định cụ thể phía nam hoặc phía dưới 20 00:00:59,680 --> 00:01:01,560 khu vực của giao diện người dùng của tôi. 21 00:01:01,560 --> 00:01:05,230 >> Chúng ta hãy tiếp gây ra một vòng lặp vô hạn. 22 00:01:05,230 --> 00:01:07,870 Và bên trong vòng lặp này, chúng ta hãy nghe cho hai sự kiện. 23 00:01:07,870 --> 00:01:09,910 Một, người dùng đóng cửa sổ. 24 00:01:09,910 --> 00:01:13,060 Hoặc hai, người dùng gõ một cái gì đó vào trường text. 25 00:01:13,060 --> 00:01:15,600 Chúng ta hãy khai báo một gActionEvent. 26 00:01:15,600 --> 00:01:16,770 Gọi đó là sự kiện. 27 00:01:16,770 --> 00:01:19,700 Gán cho nó trở lại giá trị của waitForEvent. 28 00:01:19,700 --> 00:01:24,720 Xác định rằng các loại sự kiện chúng tôi thích nghe cho là một ACTION_EVENT, 29 00:01:24,720 --> 00:01:28,470 nơi ACTION_EVENT là một hằng số khai báo trong Portable Stanford 30 00:01:28,470 --> 00:01:31,180 Thư viện mà quy định cụ thể mà loại sự kiện. 31 00:01:31,180 --> 00:01:37,600 >> Chúng ta hãy kiểm tra tiếp theo nếu, getEventType, đi qua trong sự kiện, bằng bình đẳng 32 00:01:37,600 --> 00:01:42,110 WINDOW_CLOSED, liên tục một tuyên bố trong Portable Stanford 33 00:01:42,110 --> 00:01:45,090 Thư viện mà chỉ ra rằng cửa sổ đã đóng cửa. 34 00:01:45,090 --> 00:01:48,450 Sau đó, chúng ta hãy chỉ đơn giản là thoát ra khỏi của vòng lặp vô hạn này. 35 00:01:48,450 --> 00:01:51,600 >> Nếu không, bây giờ chúng ta kiểm tra xem dùng đã gõ cái gì đó vào mà 36 00:01:51,600 --> 00:01:52,910 lĩnh vực văn bản. 37 00:01:52,910 --> 00:02:00,950 Nếu chuỗi so sánh, getActionCommand, đi qua trong sự kiện, dấu phẩy quote unquote 38 00:02:00,950 --> 00:02:03,510 "Đầu vào" bằng bình đẳng 0. 39 00:02:03,510 --> 00:02:07,340 Nói cách khác, nếu định danh duy nhất lĩnh vực văn bản vào đó 40 00:02:07,340 --> 00:02:10,680 người dùng đã gõ một cái gì đó bằng với định danh duy nhất mà tôi 41 00:02:10,680 --> 00:02:13,000 quy định trước đó, chúng ta hãy làm như sau. 42 00:02:13,000 --> 00:02:18,970 >> Printf quote unquote "% s đã được đầu vào." Và chúng ta hãy plug-in cho rằng 43 00:02:18,970 --> 00:02:24,950 % S giá trị trả lại gettext qua trong lĩnh vực này, nơi gettext là một 44 00:02:24,950 --> 00:02:28,350 chức năng, quy định tại Stanford Thư viện di động, mà được các văn bản 45 00:02:28,350 --> 00:02:29,430 từ một lĩnh vực. 46 00:02:29,430 --> 00:02:32,210 >> Bây giờ chúng ta tiết kiệm, biên dịch, và chạy chương trình này. 47 00:02:32,210 --> 00:02:33,730 Làm cho văn bản. 48 00:02:33,730 --> 00:02:35,630 . / Văn bản. 49 00:02:35,630 --> 00:02:38,780 Có giao diện người dùng của tôi, và có trường text ở phía dưới. 50 00:02:38,780 --> 00:02:42,310 Chúng ta hãy gõ một cái gì đó như h-e-l-l-o, Enter. 51 00:02:42,310 --> 00:02:45,280 Và ở đó, ở dưới cùng của tôi cửa sổ giao diện điều khiển, thực sự chúng ta thấy 52 00:02:45,280 --> 00:02:46,530 rằng "hello" được đầu vào. 53 00:02:46,530 --> 00:02:48,790