Một giải pháp công nghệ cho GUI trên nền Java. Giải pháp công nghệ cho việc tạo giao diện đồ họa người dùng dựa trên Swing và Java2D. ● Một scripting language. Nó có ngữ pháp riêng bao gồm viết hàm, khai báo biến vòng lặp, biểu thức,... ● Sức ép từ các đối thủ cạnh tranh. Microsoft có Silverlight, Adoble có Flash/Flex/Appolo,... ● Sự pháp triển của Web 2.0. ● Định hướng cho thị trường các ứng dụng trên nền Swing....
JavaFX gì? ● Một giải pháp cơng nghệ cho GUI Java Giải pháp công nghệ cho việc tạo giao diện đồ họa người dùng dựa Swing Java2D ● Một scripting language Nó có ngữ pháp riêng bao gồm viết hàm, khai báo biến vòng lặp, biểu thức, Tạo Sun tạo JavaFX? ● Sức ép từ đối thủ cạnh tranh Microsoft có Silverlight, Adoble có Flash/Flex/Appolo, ● ● Sự pháp triển Web 2.0 Định hướng cho thị trường ứng dụng Swing JavaFX chạy đâu? ● Trên Desktop Là ứng dụng độc lập cài đặt hệ điều hành với JVM ● Trong thiết bị di động Đặc biệt thị trường mobile với ứng dụng phân phối trực tiếp với người sử dụng đầu cuối ● Trên Web Với Java WebStart đánh dấu trở lại Applet Để chạy JavaFX? ● ● Cần gói thư viện Filters.jar, javafxrt.jar, swing-layout.jar Run : java net.java.javafx.FXShell HelloExample.fx Thực tế chúng ứng dụng Java nhận đầu vào scripting để chạy Ngữ pháp: Khai báo biến ● ● ● Giống scripting, rõ ràng kiểu liệu, ví dụ: var x = “hello” Hỗ trợ kiểu liệu thường sử dụng : String, Integer, Number, Boolean Một số khác import từ Java chẳng hạn lớp Date lấy từ java.util.Date Ngữ pháp: ● If-else, try-catch-throw exception, giống Java ● ● Expression giống Java, nhiên có thêm số tốn tử mang từ SQL, chẳng hạn select, insert, delete làm việc chủ yếu với mảng bean Ngữ pháp: Loop ● ● While do-while giống Java For vay mượn từ Groovy Ruby for (i in [0 10] where i % == 0) { System.out.println("i = {i}"); } for (i in [1,3 10]) { } System.out.println("i = {i}"); Ngữ pháp: Loop ● Vòng lặp hai chiều for (i in [0 10], j in [0 10]) { System.out.println(i); } System.out.println(j); trông gọn nhiều Ngữ pháp: Java đâu? ● Là scripting language hướng đối tượng class Window extends AbstractFrame { } attribute screenx: Number; operation Window.pack() { frame.pack(); } Ngữ pháp: Java đâu? ● Class khơng có contructor ● Khơng có setter dành cho bean ● ● Trigger mơ hình mang từ SQL sang với select, delete, update, Có thể import thư viện, lớp từ Java Ngữ pháp: String Literals/Expressions ● ● ● ● var s = 'Hello'; var s = "Hello"; var name = 'Nam'; var s = "Hello {name}"; // s = 'Hello Nam' var s = "Xin moi nguoi chu y"; var answer = true; var s = "The answer is {if answer then "Yes" else "No"}"; // s = 'The answer is Yes' Ngữ pháp: Quoted Identifiers ● Định danh trùng lặp với từ khóa var = 100; ● Gọi Java method import javax.swing.JTextArea; var textArea = new JTextArea(); textArea.("Hello", 0); Ngữ pháp: Làm việc với mảng ● ● ● ● ● Khai báo: var student = ["Tùng","Thái", “Thịt”,"Thỏ"]; Khai báo: var nums = [0 3];//[0,1,2,3] Sử dụng: var so = nums[2]; Sử dụng: so = nums[n|n > 2]; Sử dụng: var nums = [1,2,3,4]; var so = nums[ > 2]; Query làm việc với mảng ● Thêm phần tử dùng insert insert Expression1 [as first | as last] into Expression2 insert Expression1 before Expression2 insert Expression1 after Expression2 ● Ví dụ: var x = [1,2,3]; insert 10 after x[ == 10]; insert 12 before x[1]; insert 13 after x[ == 2]; Query làm việc với mảng ● Loại bỏ phần tử, dùng delete delete variable delete Expression.attribute delete variable[predicate] delete Expression.attribute[predicate] ● Ví dụ: var x = [1,2,3]; delete x[ == 1]; // yields [1,2,3,10] delete x[ >= 2]; // yields [1,2] delete x; // yields [] Danh sách bao hàm ● Cài : class Lớphọc { attribute họcsinh: String*; } ● Dùng : var lớp1 = Lớphọc {họcsinh: “Nguyen Van A”, “Nguyễn Thị B”} ● select i from i in [1 n/2] where n % i == 0; ... Với Java WebStart đánh dấu trở lại Applet Để chạy JavaFX? ● ● Cần gói thư viện Filters.jar, javafxrt.jar, swing-layout.jar Run : java net.java .javafx. FXShell HelloExample.fx Thực tế chúng ứng...Tạo Sun tạo JavaFX? ● Sức ép từ đối thủ cạnh tranh Microsoft có Silverlight, Adoble có Flash/Flex/Appolo, ● ● Sự pháp triển Web 2.0 Định hướng cho thị trường ứng dụng Swing JavaFX chạy đâu?... Sự pháp triển Web 2.0 Định hướng cho thị trường ứng dụng Swing JavaFX chạy đâu? ● Trên Desktop Là ứng dụng độc lập cài đặt hệ điều hành với JVM ● Trong thiết bị di động Đặc biệt thị trường mobile