Trang Chủ Tài chính Cá nhân Tất cả các từ trong một ứng dụng JavaFX nghĩa là gì? - núm vú

Tất cả các từ trong một ứng dụng JavaFX nghĩa là gì? - núm vú

Mục lục:

Video: DOCKER? DỄ ẤY MÀ #1 | CƠ BẢN | TodayILearned 2025

Video: DOCKER? DỄ ẤY MÀ #1 | CƠ BẢN | TodayILearned 2025
Anonim

Sử dụng khuôn khổ JavaFX, các nhà phát triển thêm các thành phần hấp dẫn hữu ích, trực quan cho các ứng dụng Java của họ. JavaFX là một trong những khuôn khổ như vậy, bắt đầu với Bộ công cụ Tóm tắt Windowing năm 1995 và Java Swing năm 1998. Phiên bản đầu tiên của JavaFX bắt đầu từ năm 2008, nhưng JavaFX trở thành công dân hạng nhất trong thư viện Java tiêu chuẩn với bản cập nhật lần thứ hai của Java 7 trong năm 2011.

Cũng trong năm 2011, Oracle phát hành phiên bản 2 của JavaFX. Phiên bản mới này kết hợp các tài liệu XML với mã Java - tuyên bố giao diện của một ứng dụng với XML và các hành động của một ứng dụng có mã Java. JavaFX sử dụng phương ngữ riêng của nó về ngôn ngữ XML, được gọi là FXML .

XML là viết tắt của ngôn ngữ Đánh dấu Mở rộng, và JavaFX có thể có cái gì đó với Java "EFF đặc biệt" " FXML là viết tắt của EFF-ects eXtended Markup Language hoặc EFF-ECTS Markup Language. Bài viết này mô tả một số tên mà bạn tìm thấy trong một chương trình JavaFX đơn giản. (Hãy nhớ rằng tham chiếu đến "một số tên" có nghĩa là "những cái tên thuộc về thế giới của JavaFX" - điều này không bao gồm các tên như TextField và Button xuất hiện trong các môi trường khác, và nó không bao gồm các tên như java, lang và main, thuộc về các công nghệ Java vanilla.)

Liệt kê 1 chứa mã FXML, và Liệt kê 2 chứa mã Java. Khi bạn chạy hai danh sách này như là một phần của một ứng dụng, bạn sẽ có được một chương trình viết hoa chữ cái trong văn bản của bạn. (Tại thời điểm này, bạn có thể mỉa mai nói "Một ứng dụng có vốn hóa văn bản? Lớn đối phó!" Một phản ứng thích hợp ở đây sẽ là "một APP THAT CAPITALIZES TEXT? BIG DEAL!")

Liệt kê 1: The Root. fxml

F khoảng

<< AnchorPane
prefHeight = "130. 0" prefWidth = "198. 0" xmlns = " // javafx. Com / javafx / 8" xmlns: fx = " trẻ fx: id =" textField ">" " " layoutX =" 25. 0 " layoutY =" 26. 0" /> mnemonicParsing =" false " onAction =" # onClick " text = "Capitalize" /> L isting 2: Chính. java F  gói ứng dụng; nhập khẩu javafx. ứng dụng. Ứng dụng; nhập khẩu javafx. biến cố. ActionEvent; nhập khẩu javafx. fxml. FXML; nhập khẩu javafx. fxml. FXMLLoader; nhập khẩu javafx. bối cảnh. Cha mẹ; nhập khẩu javafx. bối cảnh. Bối cảnh; nhập khẩu javafx.bối cảnh. điều khiển. Trương Văn bản; nhập khẩu javafx. sân khấu. Sân khấu; public class Main mở rộng Ứng dụng {public static void main (String [] args) {

khởi chạy (args);} @So khoảng trống công khai bắt đầu (

Stage primaryStage) {thử { Phụ huynh root = FXMLLoader. tải (getClass (). getResource ("Root. fxml")); Cảnh cảnh = cảnh mới (gốc, 400, 400); bối cảnh. getStylesheets (). thêm (getClass () getResource ("ứng dụng css").ToExternalForm ()); primaryStage. setScene (cảnh) ; primaryStage. show () ;} catch (ngoại lệ e) {e. printStackTrace ();}} @FXML private TextField textField; @FXML được bảo vệ void onClick (Sự kiện ActionEvent) {textField. Giống như mọi tài liệu XML, tài liệu trong Liệt kê 1 có phần tử gốc - một thành phần đơn lẻ khởi động. ở đầu của tài liệu và kết thúc ở cuối của tài liệu. Trong Liệt kê 1, phần tử gốc bắt đầu bằng và kết thúc bằng Các dòng bắt đầu bằng . AnchorPane là một phần tử gốc An AnchorPane (hoặc chính thức hơn là một khung cảnh javafx.. AnchorPane) là một nơi mà mọi thứ có thể được neo. Hãy suy nghĩ về việc cố gắng đặt một nút hoặc một trường văn bản trên một không gian trống lớn. Nếu không có một AnchorPane, những thành phần này trôi nổi trong không gian. Với một AnchorPane, bạn có thể làm cho cạnh của trái của trường văn bản chính xác là 25. 0 pixel từ cạnh trái của AnchorPane. (Xem thuộc tính layoutX của phần tử TextField trong Liệt kê 1.) Ngoài ra, với một AnchorPane, bạn có thể làm cho cạnh của trường văn bản chính xác là 26. 0 pixel từ mép trên của AnchorPane. (Xem thuộc tính layoutY của phần tử TextField trong Liệt kê 1.) Tương tự đúng cho một nút hoặc đối với bất kỳ thành phần nào khác mà bạn trồng bên trong AnchorPane. 

controller

của lớp Java - lớp có mã thực thi các hành động liên quan đến ứng dụng. Trong Liệt kê 1, tên của lớp điều khiển là ứng dụng. Chủ yếu. Và thật trùng hợp! Lớp trong Liệt kê 2 có tên Main, và nó nằm trong một gói ứng dụng có tên! Nếu bạn nghĩ về mã FXML dưới dạng phác thảo, nó có tiêu đề với tiêu đề phụ, và với tiêu đề phụ trong các tiêu đề phụ, v.v … Trong Liệt kê 1, tiêu đề chính là AnchorPane. Tiểu đơn vị duy nhất của AnchorPane là trẻ em. Nhưng trẻ em có hai phân nhóm riêng; cụ thể là, TextField và Button.


Thuộc tính fx: id


Phần tử TextField có một thuộc tính fx: id. Thuộc tính này cho bạn biết làm thế nào để tìm thấy thành phần này bên trong một số mã Java. Nói cách khác,

nói "Để tham khảo widget này trong ứng dụng. Mã Java chính, sử dụng textField tên. "(Nếu bạn muốn biết chi tiết hơn, hãy xem trước cuộc thảo luận về mã trong Liệt kê 2.)

Bạn không phải sử dụng một từ mô tả để xác định một thành phần.Bạn có thể viết

Miễn là bạn sử dụng từ woofinflang một cách nhất quán (bằng cách nói đến từ woofinflang trong mã Java của bạn) mọi thứ sẽ diễn ra suôn sẻ. Tất nhiên các tên như textField, textField2 và phoneNumberField có nhiều thông tin hơn so với những cái tên như woofinflang. Vì vậy, tránh xa woofinflangs nếu bạn có thể có thể. Thuộc tính mnemonicParsing Trong Listing 1, bên trong phần tử Button, thuộc tính mnemonicParsing có giá trị false. Giá trị giả mạo này cho phép Java không phải đặt một phím tắt cho nút. Nếu giá trị là đúng, bạn có thể thêm một gạch dưới vào giá trị của thuộc tính văn bản của nút:

text = "_ Capitalize"

Sau đó, người dùng sẽ không phải di chuyển con chuột qua nút. Bởi vì gạch dưới đi ngay trước chữ C, nhấn Alt + C sẽ có tác dụng tương tự như cách nhấn vào nút.

Thuộc tính onAction

Thuộc tính onAction của nút cho Java tên của phương thức để thực hiện khi người dùng nhấp vào nút. Trong Liệt kê 1, giá trị thuộc tính onAction là # onKết quả. Điều này cho phép Java gọi phương thức onClick của lớp điều khiển khi người dùng nhấp vào nút. May mắn thay, ứng dụng. Lớp chính trong Liệt kê 2 có một phương thức onClick.


Trong Listing 1, giá trị onAction là #onClick. Nhưng trong Ví dụ 2, tên phương thức tương ứng là onClick mà không có biểu tượng băm. Trong thuộc tính onAction của nút, biểu tượng băm (#) không phải là một phần của tên phương thức. Nhưng điều đó không có nghĩa là bạn có thể bỏ qua biểu tượng băm trong tài liệu FXML của mình. Nếu bạn bỏ qua biểu tượng băm thì khi bạn cố chạy chương trình, bạn sẽ thấy một thông báo lỗi xấu.

Mã Java

Lớp trong Liệt kê 2 mở rộng lớp Ứng dụng. Ứng dụng là chính xác những gì bạn nghĩ đó là - một bó mã mà người dùng có thể khởi chạy; một chương trình có mục đích rõ ràng như "Tạo một tài liệu", "Lướt web" hoặc "Tìm một người bạn đời. "

Chạy và khởi chạy

Có ít nhất hai cách để chạy một chương trình JavaFX. Một cách là chạy nó như một ứng dụng Java thông thường. Ví dụ, trong Eclipse, bạn chọn Run As-> Java Application.

Khi bạn thực hiện việc này, máy tính của bạn sẽ khởi động máy ảo Java, nó sẽ gọi phương thức chính của chương trình. Trong Liệt kê 2, phương thức chính chỉ thực hiện một câu lệnh - gọi đến phương thức khởi chạy. Gọi cho phương pháp khởi chạy đặt bánh xe JavaFX của ứng dụng chạy trong chuyển động.

Ngoài ra, bạn có thể chạy mã JavaFX đóng gói sẵn. Gói đóng gói sẵn bao gồm mọi thứ mà máy tính cần để chạy một ứng dụng. Điều này "tất cả mọi thứ" bao gồm mã để kiểm tra máy ảo Java trên máy tính của người dùng và mã để tải xuống máy ảo Java nếu máy tính chưa có. Khi bạn nạp gói ứng dụng JavaFX theo cách này, chương trình của bạn không cần một phương pháp chính. Hệ thống tự động gọi phương pháp khởi chạy của chương trình.

A. jar file giống như a. file zip, ngoại trừ tất cả. tệp jar chứa các phần tử nhất định cụ thể cho các chương trình Java. Một trong những điều bạn có thể đưa vào a.jar file là một ứng dụng JavaFX đóng gói sẵn.

Khi bạn gọi phương thức khởi chạy, Java đáp ứng bằng cách thực hiện các cuộc gọi tới các phương thức init và begin của ứng dụng của bạn. Bạn không thấy một phương thức init trong Liệt kê 2 bởi vì lớp Main của bạn kế thừa phương thức init mặc định của lớp Ứng dụng. (Không sao cả bởi vì phương pháp init mặc định không làm bất cứ điều gì.)

Những điều bên trong những thứ khác

Phương pháp bắt đầu trong Liệt kê 2 tạo ra một Parent. Phụ Huynh là điểm bắt đầu của một Cảnh, và Scene xuất hiện trên Stage. Dưới đây là một chút chi tiết hơn:

Một Giai đoạn là những gì bạn thường gọi là "cửa sổ". "

Đó là một khu vực làm việc hình chữ nhật trên màn hình của người dùng.

Cảnh (còn gọi là

đồ thị cảnh) là một cây các thành phần.

Ví dụ: Cảnh có thể chứa hai khung. Khung bên trái chứa hai ô nhỏ hơn - ngăn trên cùng và ngăn dưới cùng. Khung trên cùng chứa một nút; ô phía dưới chứa một trường văn bản. Khung bên phải có thể chứa một hình ảnh và một nhãn cho hình ảnh.

Trong bài viết này, cây của các thành phần khá đơn giản. Cảnh có chứa một AnchorPane mà lần lượt chứa một TextField và một nút. (Xem Liệt kê 1.)

Một Phụ Huynh là điểm bắt đầu cho một Cảnh.

Bất kể những gì xuất hiện trong đạn trước đó, một Cảnh không thể bắt đầu cuộc đời bằng cách có hai khung hoặc bằng hai thứ. Mỗi Cảnh bắt đầu bằng một thành phần, và thành phần đó phải thuộc loại Parent. Vì vậy, trong ứng dụng của bài viết này, Scene chứa một Parent, chứa AnchorPane chứa TextField và một Button.

Phương pháp bắt đầu trong Ví dụ 2 kết nối một Phụ Huynh với các thành phần được mô tả trong Liệt kê 1, kết hợp một Cảnh với Phụ Huynh, và sau đó gắn một Giai đoạn với Cảnh. Cuối cùng, mã hiển thị Stage với một cuộc gọi đến phương pháp trình diễn của Stage.

  • Nếu bạn đã quen thuộc với thiết kế trang web, bạn có thể sử dụng các trang tính theo tầng (CSS) để mô tả giao diện của một cảnh. Trong Liệt kê 2, cuộc gọi đến hiện trường. getStyleSheets (). thêm liên kết một phong cách với cảnh của bạn. Nếu là của bạn. tệp css trống (như trong ví dụ của bài viết này), sau đó gọi tới cảnh. getStyleSheets (). thêm không có hiệu lực.

    Thực hiện hành động

  • Trong Liệt kê 1, dòng cho bạn một cách để tham khảo một trong các thành phần trên màn hình của người dùng. Vì vậy, trong Ví dụ 2, dòng private TextField textField;

    làm cho thành phần textField này là một đối tượng trong mã Java của bạn.

    Một lần nữa trong Liệt kê 1, thuộc tính onAction của nút cho Java gọi phương thức onClick của lớp điều khiển khi người dùng nhấp vào nút. Vì vậy, trong Ví dụ 2, phương thức onClick fiddles với văn bản bên trong thành phần textField. (Cụ thể hơn, phương thức onClick nhận văn bản trong textField, viết hoa văn, và sau đó đặt lại văn bản viết hoa vào textField) Đây là cách chương trình biết phải làm gì khi người dùng nhấp vào nút.

  • Bạn không phải lúc nào cũng phải sử dụng những từ như textField. Bạn có thể đặt tên cái gì đó bershmlug miễn là bạn sử dụng tên một cách nhất quán.Trong tệp FXML, bạn viết

    và trong mã Java, bạn viết

@FXML private TextField

bershmlug

; @FXML được bảo vệ void onClick (Sự kiện ActionEvent) {

bershmlug


. setText (

bershmlug

getText ().ToUpperCase ());}

Các chú thích @FXML trong Liệt kê 2 dành cho kiểm soát truy cập. Khi bạn chạy một chương trình JavaFX, trình nạp 999 sẽ lấy mã FXML của bạn và chuyển nó sang mã Java. (Nó nạp mã FXML vào chương trình của bạn) Để thực hiện công việc của nó, trình nạp phải truy cập các tên như textField và onClick trong Liệt kê 2. Nhưng hãy nhớ: Bộ nạp này không phải là một phần của chương trình của bạn. Trình nạp này thuộc về các thư viện chuẩn của Java.

Làm thế nào bạn có thể kiểm soát truy cập vào các tên textField và onClick? Các trình bổ sung truy cập thông thường của Java (công khai, bảo vệ, riêng tư và mặc định) sẽ khiến bạn ít lựa chọn. Với những sửa đổi này, cách duy nhất để cho phép truy cập bởi một chương trình bên ngoài là khai báo textField và onClick để được công khai. Tuy nhiên, đối với nhiều nhà phát triển, việc sử dụng bừa bãi truy cập công cộng được coi là


gauche

. Với quyền truy cập công cộng, mỗi lớp học có quyền truy cập vào textField và onClick. Đó không phải là điều mà nhà phát triển JavaFX muốn. Để giải quyết vấn đề này, chú giải @FXML cung cấp một loại truy cập đặc biệt. Trong Liệt kê 2, biến textField là private vì vậy, thông thường, không có lớp nào khác ngoài Main có thể truy cập biến textField. Tuy nhiên, @FXML chú thích đặc quyền đặc biệt để bộ tải. Không giống bất kỳ mã nào khác, mã bộ nạp có thể tham chiếu biến textField. Khi bạn biên dịch và chạy chương trình của bạn, Java nhìn thấy chú thích @FXML và thực hiện các thủ thuật đặc biệt để cung cấp truy cập vào trình nạp. Cùng một loại điều là đúng với phương pháp onClick. Nếu không có chú thích XMLFXML, phương thức onClick được bảo vệ chỉ có thể được gọi từ các lớp trong gói ứng dụng của riêng bạn và từ các lớp con của lớp Main của bạn. Bộ nạp không phải là của những thứ này. Vì vậy để cấp quyền truy cập đặc biệt của trình nạp vào phương thức onClick của bạn, bạn sẽ khai báo khai báo onClick bằng @FXML. 

Tất cả các từ trong một ứng dụng JavaFX nghĩa là gì? - núm vú

Lựa chọn của người biên tập

Cách lọc một nguồn dữ liệu kết hợp trong Word 2013 - núm vú

Cách lọc một nguồn dữ liệu kết hợp trong Word 2013 - núm vú

Trong tài liệu Word 2013, lọc một nguồn dữ liệu loại trừ các bản ghi nhất định (hoặc xem một cách khác, nó chỉ bao gồm một số bản ghi) dựa trên một hoặc nhiều tiêu chí mà bạn chỉ định. Ví dụ: bạn có thể muốn chỉ bao gồm các địa chỉ từ một thành phố hoặc tiểu bang nhất định, hoặc chỉ những địa chỉ phù hợp với địa chỉ ...

Cách Tìm Stuff bạn không thể gõ trong Word 2007 - núm vú

Cách Tìm Stuff bạn không thể gõ trong Word 2007 - núm vú

Word 2007 giúp tìm các ký tự đặc biệt, không in được trong tài liệu của bạn. Sử dụng hộp thoại Tìm và Thay thế, bạn có thể tìm kiếm những thứ như tab, dấu phân cách, dấu thập phân, khoảng trống và những thứ khác mà bạn không thể tạo ra từ bàn phím. Gọi hộp thoại Tìm và Thay thế. Nếu cần thiết, hãy nhấp vào nút Thêm để ...

Cách Tìm Định dạng trong Word 2007 - núm vú

Cách Tìm Định dạng trong Word 2007 - núm vú

Bạn có thể sử dụng lệnh Tìm để đánh cắp tài liệu Word 2007 của bạn để định dạng thông tin. Ví dụ, nếu bạn chỉ muốn tìm những trường hợp của từ lie có chữ đậm, bạn có thể làm điều đó. Ví dụ này tìm kiếm trứng ngỗng văn bản với kích thước phông chữ là 24 điểm trong một ...

Lựa chọn của người biên tập

Làm thế nào để Thoả Nhận Hợp Đồng Máy chủ Web - núm vú

Làm thế nào để Thoả Nhận Hợp Đồng Máy chủ Web - núm vú

Trên thực tế, đa số của máy chủ web không hoàn lại tiền nếu bạn để lại trước khi thời hạn hợp đồng của bạn kết thúc. Trong thực tế, nếu bạn có một thỏa thuận giá rẻ trên hosting của bạn, nó có thể có các điều khoản và điều kiện yêu cầu bạn xem ra thời hạn của hợp đồng hoặc trả tiền cho đặc quyền ...

Cách quản lý tập tin với Control Panel của Website - núm vú

Cách quản lý tập tin với Control Panel của Website - núm vú

Bảng điều khiển của bạn cung cấp cho bạn một cách tiện dụng để quản lý các tệp của bạn mà không cần máy chủ FTP được lưu trữ trên web. Đây là một cái gì đó phổ biến cho hầu hết các bảng điều khiển nhưng đôi khi có nhãn khác nhau một chút. Ví dụ, hầu hết các máy chủ gọi nó là File Manager, nhưng DreamHost gọi nó là webFTP. Sử dụng Trình quản lý Tệp là

Cách Quản lý Người dùng với Quản lý Máy chủ Web - núm vú

Cách Quản lý Người dùng với Quản lý Máy chủ Web - núm vú

Cây thư mục riêng trên máy chủ nơi tập tin của nó được giữ. Là chủ sở hữu của máy chủ, bạn có quyền truy cập superuser cho toàn bộ máy chủ, có nghĩa là bạn có thể xem tất cả các tệp tin của chủ tài khoản khác. Tất cả các tập tin tài khoản được lưu giữ trong các thư mục bên trong một thư mục gọi là home, ...

Lựa chọn của người biên tập

Tạo một Cột trang web mới trong SharePoint 2010 - núm vú

Tạo một Cột trang web mới trong SharePoint 2010 - núm vú

SharePoint 2010 có một thực thể cột trang web cho phép bạn để sử dụng lại các cột trên nhiều danh sách. Khi bạn tạo một cột mới trong danh sách của mình, bạn tạo ra một cột danh sách - có nghĩa cột chỉ có thể được sử dụng trong danh sách đó. Các cột của trang web được tạo ở cấp cao nhất của trang web nhóm của bạn và có thể ...

Tạo Tuỳ chỉnh Chủ đề cho SharePoint 2010 Sử dụng PowerPoint - núm vú

Tạo Tuỳ chỉnh Chủ đề cho SharePoint 2010 Sử dụng PowerPoint - núm vú

Cho nhiều nhà thiết kế trang web và chủ sở hữu SharePoint 2010 , ý tưởng để có thể tùy chỉnh chủ đề của họ là rất thú vị. Mặt khác, nhiệm vụ chọn nhiều màu có thể có vẻ khó chịu với những người biết họ thích gì khi họ nhìn thấy nó nhưng gặp sự cố khi lựa chọn. Nếu bạn ở trong ...

Tạo trang web mới trong SharePoint 2010 - núm vú

Tạo trang web mới trong SharePoint 2010 - núm vú

Bạn có thể tạo một bộ sưu tập trang web mới trong SharePoint theo hai cách - bằng cách sử dụng Quản trị Trung tâm hoặc thông qua Tạo trang web Tự phục vụ. Sử dụng Quản trị Trung tâm đòi hỏi các quyền được cấp phép, thường là hạn chế đối với nhân viên CNTT. Tạo trang web tự tạo là một tính năng của SharePoint cho phép CNTT trao quyền cho việc tạo bộ sưu tập trang web mới ...