Thứ Sáu, 28 tháng 9, 2018

JavaScript - Cú pháp

Học lập trình Java. JavaScript có thể được thực hiện bằng cách sử dụng các câu lệnh JavaScript được đặt trong <script> ... </ script> .

Bạn có thể đặt các thẻ <script> , chứa JavaScript của bạn, ở bất kỳ đâu trong trang web của bạn, nhưng bạn nên giữ nó trong các thẻ <head> .

Thẻ <script> cảnh báo chương trình trình duyệt để bắt đầu diễn giải tất cả văn bản giữa các thẻ này dưới dạng tập lệnh. Một cú pháp đơn giản của JavaScript của bạn sẽ xuất hiện như sau.
<script ...>
   JavaScript code
</script>

Thẻ tập lệnh có hai thuộc tính quan trọng

Ngôn ngữ - Thuộc tính này chỉ định ngôn ngữ kịch bản bạn đang sử dụng. Thông thường, giá trị của nó sẽ là javascript. Mặc dù các phiên bản gần đây của HTML (và XHTML, người thừa kế của nó) đã loại bỏ việc sử dụng thuộc tính này.

Loại - Thuộc tính này là những gì bây giờ được khuyến nghị để chỉ ra ngôn ngữ kịch bản được sử dụng và giá trị của nó được đặt thành "text / javascript".

Vì vậy, phân đoạn JavaScript của bạn sẽ trông giống như
<script language="javascript" type="text/javascript">
   JavaScript code
</script>

Tập lệnh JavaScript đầu tiên của bạn

Chúng ta hãy lấy một ví dụ mẫu để in ra "Hello World". Chúng tôi đã thêm một nhận xét HTML tùy chọn bao quanh mã JavaScript của chúng tôi. Điều này là để lưu mã của chúng tôi từ một trình duyệt không hỗ trợ JavaScript.

Nhận xét kết thúc bằng "// ->". Ở đây "//" biểu thị nhận xét bằng JavaScript, vì vậy chúng tôi thêm điều đó để ngăn trình duyệt đọc phần cuối của nhận xét HTML dưới dạng một đoạn mã JavaScript. Tiếp theo, chúng ta gọi hàm document.write viết một chuỗi vào tài liệu HTML của chúng ta.

Chức năng này có thể được sử dụng để viết văn bản, HTML hoặc cả hai. Hãy xem mã sau đây.
<html>
   <body>
      <script language="javascript" type="text/javascript">
         <!--
            document.write("Hello World!")
         //-->
      </script>
   </body>
</html>
Mã này sẽ tạo ra kết quả sau

Hello World!

Khoảng trắng và ngắt dòng

JavaScript bỏ qua dấu cách, tab và dòng mới xuất hiện trong các chương trình JavaScript. Bạn có thể sử dụng dấu cách, tab và dòng mới một cách tự do trong chương trình của mình và bạn được tự do định dạng và thụt lề chương trình của mình một cách gọn gàng và nhất quán giúp mã dễ đọc và dễ hiểu.

Dấu chấm phẩy là tùy chọn

Các câu lệnh đơn giản trong JavaScript thường được theo sau bởi một ký tự dấu chấm phẩy, giống như chúng ở trong C, C ++ và Java. JavaScript, tuy nhiên, cho phép bạn bỏ qua dấu chấm phẩy này nếu mỗi câu lệnh của bạn được đặt trên một dòng riêng biệt. Ví dụ, đoạn mã sau có thể được viết mà không có dấu chấm phẩy.
<script language="javascript" type="text/javascript">
   <!--
      var1 = 10
      var2 = 20
   //-->
</script>
Nhưng khi được định dạng trong một dòng đơn như sau, bạn phải sử dụng dấu chấm phẩy -
<script language="javascript" type="text/javascript">
   <!--
      var1 = 10; var2 = 20;
   //-->
</script>

Lưu ý - Đó là một thực hành lập trình tốt để sử dụng dấu chấm phẩy.

Trường hợp nhạy cảm

JavaScript là một ngôn ngữ phân biệt chữ hoa chữ thường. Điều này có nghĩa là các từ khóa, biến, tên hàm và bất kỳ số nhận dạng ngôn ngữ nào khác phải luôn được nhập bằng cách viết hoa chữ cái nhất quán.

Vì vậy, số nhận dạng Thời gian và TIME sẽ truyền đạt ý nghĩa khác nhau trong JavaScript.

LƯU Ý - Cần chú ý khi viết tên biến và hàm trong JavaScript.

Nhận xét bằng JavaScript

JavaScript hỗ trợ cả nhận xét kiểu C và C ++ - Như vậy

Bất kỳ văn bản nào giữa // và cuối dòng được coi là nhận xét và bị JavaScript bỏ qua.

Bất kỳ văn bản nào giữa các ký tự / * và * / được coi là nhận xét. Điều này có thể kéo dài nhiều dòng.

JavaScript cũng nhận ra chuỗi mở lời bình luận HTML <! -. JavaScript coi đây là nhận xét một dòng, giống như chú thích //.

Trình tự đóng chuỗi nhận xét HTML -> không được JavaScript nhận dạng vì vậy nó phải được viết là // ->.

Thí dụ

Ví dụ sau đây cho thấy cách sử dụng các chú thích trong JavaScript.
<script language="javascript" type="text/javascript">
   <!--
   
      // This is a comment. It is similar to comments in C++
   
      /*
      * This is a multiline comment in JavaScript
      * It is very similar to comments in C Programming
      */
   
   //-->
</script>

Thứ Năm, 27 tháng 9, 2018

JavaScript - Tổng quan

JavaScript là gì?

Javascript là ngôn ngữ lập trình Java máy tính động. Nó có trọng lượng nhẹ và được sử dụng phổ biến nhất như một phần của các trang web, có triển khai cho phép tập lệnh phía máy khách tương tác với người dùng và tạo các trang động. Nó là một ngôn ngữ lập trình thông dịch với các khả năng hướng đối tượng.

Học lập trình Java

JavaScript được biết đến lần đầu tiên là LiveScript, nhưng Netscape đã đổi tên thành JavaScript, có thể là do sự hứng thú được tạo ra bởi Java. JavaScript xuất hiện lần đầu tiên trong Netscape 2.0 vào năm 1995 với tên LiveScript . Lõi đa năng của ngôn ngữ đã được nhúng trong Netscape, Internet Explorer và các trình duyệt web khác.

Đặc tả ECMA-262 đã định nghĩa một phiên bản chuẩn của ngôn ngữ JavaScript lõi.

JavaScript là một ngôn ngữ lập trình nhẹ, được diễn giải.

Được thiết kế để tạo các ứng dụng tập trung vào mạng.

Bổ sung và tích hợp với Java.

Bổ sung và tích hợp với HTML.

Mở và đa nền tảng

JavaScript phía máy khách

JavaScript phía máy khách là dạng phổ biến nhất của ngôn ngữ. Tập lệnh phải được bao gồm trong hoặc được tham chiếu bởi một tài liệu HTML để mã được trình duyệt giải thích.

Điều đó có nghĩa là trang web không cần phải là HTML tĩnh, nhưng có thể bao gồm các chương trình tương tác với người dùng, kiểm soát trình duyệt và tự động tạo nội dung HTML.

Cơ chế phía máy khách JavaScript cung cấp nhiều lợi thế hơn các kịch bản lệnh phía máy chủ CGI truyền thống. Ví dụ: bạn có thể sử dụng JavaScript để kiểm tra xem người dùng đã nhập địa chỉ email hợp lệ trong trường biểu mẫu chưa.

JavaScript được thực hiện khi người dùng gửi biểu mẫu và chỉ khi tất cả các mục nhập hợp lệ, chúng sẽ được gửi đến Máy chủ Web.

JavaScript có thể được sử dụng để bẫy các sự kiện do người dùng khởi tạo như nhấp chuột vào nút, điều hướng liên kết và các hành động khác mà người dùng bắt đầu một cách rõ ràng hoặc ngầm.

Ưu điểm của JavaScript

Thành tích của việc sử dụng JavaScript

Ít tương tác với máy chủ - Bạn có thể xác thực tính năng nhập của người dùng trước khi gửi trang tới máy chủ. Điều này tiết kiệm lưu lượng máy chủ, có nghĩa là ít tải trên máy chủ của bạn.

Phản hồi ngay lập tức cho khách truy cập - Họ không phải chờ tải lại trang để xem họ có quên nhập nội dung nào đó hay không.

Tăng cường tương tác - Bạn có thể tạo các giao diện phản ứng khi người dùng di chuột qua chúng hoặc kích hoạt chúng thông qua bàn phím.

Giao diện mạnh mẽ hơn - Bạn có thể sử dụng JavaScript để bao gồm các mục như là thành phần kéo và thả và thanh trượt để cung cấp Giao diện đa dạng cho khách truy cập trang web của bạn.

Hạn chế của JavaScript

Chúng tôi không thể coi JavaScript là ngôn ngữ lập trình chính thức. Nó thiếu các tính năng quan trọng sau:

JavaScript phía máy khách không cho phép đọc hoặc ghi tệp. Điều này đã được giữ vì lý do an ninh.

Không thể sử dụng JavaScript cho các ứng dụng mạng vì không có hỗ trợ nào như vậy.

JavaScript không có bất kỳ khả năng đa luồng hoặc đa xử lý nào.

Một lần nữa, JavaScript là một ngôn ngữ lập trình nhẹ, được diễn giải cho phép bạn xây dựng tương tác vào các trang HTML tĩnh khác.

Công cụ phát triển JavaScript

Một trong những điểm mạnh của JavaScript là nó không đòi hỏi các công cụ phát triển đắt tiền. Bạn có thể bắt đầu bằng trình soạn thảo văn bản đơn giản như Notepad. Vì nó là một ngôn ngữ thông dịch trong ngữ cảnh của một trình duyệt web, bạn thậm chí không cần phải mua một trình biên dịch.

Để làm cho cuộc sống của chúng ta đơn giản hơn, các nhà cung cấp khác nhau đã đưa ra các công cụ chỉnh sửa JavaScript rất đẹp mắt. Một số trong số đó được liệt kê ở đây -

Microsoft FrontPage - Microsoft đã phát triển một trình soạn thảo HTML phổ biến được gọi là FrontPage. FrontPage cũng cung cấp cho các nhà phát triển web một số công cụ JavaScript để hỗ trợ việc tạo ra các trang web tương tác.

Macromedia Dreamweaver MX - Macromedia Dreamweaver MX là một trình soạn thảo HTML và JavaScript rất phổ biến trong đám đông phát triển web chuyên nghiệp. Nó cung cấp một số thành phần JavaScript dựng sẵn có sẵn, tích hợp tốt với cơ sở dữ liệu và tuân theo các tiêu chuẩn mới như XHTML và XML.

Macromedia HomeSite 5 - HomeSite 5 là một trình soạn thảo HTML và JavaScript được yêu thích từ Macromedia có thể được sử dụng để quản lý các trang web cá nhân một cách hiệu quả.

JavaScript ngày nay ở đâu?

Tiêu chuẩn ECMAScript Edition 5 sẽ là bản cập nhật đầu tiên được phát hành trong hơn bốn năm. JavaScript 2.0 phù hợp với phiên bản 5 của tiêu chuẩn ECMAScript, và sự khác biệt giữa hai là cực kỳ nhỏ.

Bạn có thể tìm thấy đặc điểm kỹ thuật cho JavaScript 2.0 trên trang web sau: 

Ngày nay, JavaScript của Netscape và JScript của Microsoft tuân theo tiêu chuẩn ECMAScript, mặc dù cả hai ngôn ngữ vẫn hỗ trợ các tính năng không phải là một phần của tiêu chuẩn.

Thứ Năm, 20 tháng 9, 2018

Java - Nhận xét tài liệu

Học lập trình Java

Ngôn ngữ Java hỗ trợ ba loại bình luận



Sr.No.Nhận xét & mô tả
1/* bản văn */

Trình biên dịch bỏ qua mọi thứ từ / * đến * /.
2//bản văn
Trình biên dịch bỏ qua mọi thứ từ // đến cuối dòng.
3/** tài liệu */
Đây là một bình luận tài liệu và nói chung được gọi là bình luận doc của nó . Công cụ javadoc JDK sử dụng các chú thích doc khi chuẩn bị tài liệu được tạo tự động.
Học lập trình Java : Chương này là tất cả về giải thích Javadoc. Chúng ta sẽ thấy cách chúng ta có thể sử dụng Javadoc để tạo ra các tài liệu hữu ích cho mã Java.

Javadoc là gì?

Javadoc là một công cụ đi kèm với JDK và nó được sử dụng để tạo tài liệu mã Java ở định dạng HTML từ mã nguồn Java, yêu cầu tài liệu theo định dạng được xác định trước.

Sau đây là một ví dụ đơn giản trong đó các dòng bên trong /*….*/ là các nhận xét nhiều dòng Java. Tương tự, dòng có tiền tố // là nhận xét đơn dòng Java.

Thí dụ
/**
* The HelloWorld program implements an application that
* simply displays "Hello World!" to the standard output.
*
* @author  Zara Ali
* @version 1.0
* @since   2014-03-31 
*/
public class HelloWorld {

   public static void main(String[] args) {
      /* Prints Hello, World! on standard output.
      System.out.println("Hello World!");
   }
}

Bạn có thể bao gồm các thẻ HTML bắt buộc bên trong phần mô tả. Ví dụ: ví dụ sau sử dụng <h1> .... </ h1> cho tiêu đề và <p> đã được sử dụng để tạo ngắt đoạn -

Thí dụ

/**
* <h1>Hello, World!</h1>
* The HelloWorld program implements an application that
* simply displays "Hello World!" to the standard output.
* <p>
* Giving proper comments in your program makes it more
* user friendly and it is assumed as a high quality code.
* 
*
* @author  Zara Ali
* @version 1.0
* @since   2014-03-31 
*/
public class HelloWorld {

   public static void main(String[] args) {
      /* Prints Hello, World! on standard output.
      System.out.println("Hello World!");
   }
}

Thẻ javadoc

Công cụ javadoc nhận ra các thẻ sau

NhãnSự miêu tảCú pháp
@authorThêm tác giả của một lớp.@author name-text
{@code}Hiển thị văn bản trong phông chữ mã mà không diễn giải văn bản dưới dạng đánh dấu HTML hoặc thẻ javadoc lồng nhau.{@code text}
{@docRoot}Đại diện cho đường dẫn tương đối đến thư mục gốc của tài liệu được tạo ra từ bất kỳ trang được tạo nào.{@docRoot}
@được chấp nhậnThêm nhận xét cho biết rằng API này sẽ không còn được sử dụng nữa.@deprecated deprecatedtext
@ngoại lệThêm tiêu đề phụ Ném vào tài liệu được tạo, với tên lớp và văn bản mô tả.@exception class-name description
{@inheritDoc}Thừa kế nhận xét từ lớp kế thừa hoặc giao diện có thể thực hiện gần nhất .Thừa kế một nhận xét từ lớp con ngay lập tức.
{@link}Chèn một liên kết nội tuyến với nhãn văn bản hiển thị trỏ đến tài liệu cho gói, lớp hoặc tên thành viên được chỉ định của lớp được tham chiếu.{@link package.class # nhãn thành viên}
{@linkplain}Giống hệt với {@link}, ngoại trừ nhãn của liên kết được hiển thị ở dạng văn bản thuần túy hơn so với phông chữ mã.{@linkplain package.class # nhãn thành viên}
@paramThêm tham số có tên tham số được chỉ định, theo sau là mô tả được chỉ định cho phần "Tham số".mô tả tên thông số @param
@trở vềThêm phần "Trả về" cùng với văn bản mô tả.@return description
@xemThêm tiêu đề "Xem thêm" với liên kết hoặc mục nhập văn bản trỏ đến tham chiếu.tham khảo @see
@serialĐược sử dụng trong chú thích doc cho trường tuần tự mặc định.@serial field-description |bao gồm | loại trừ
@serialDataTài liệu dữ liệu được viết bởi các phương thức writeObject () hoặc writeExternal ().@serialData mô tả dữ liệu
@serialFieldTài liệu thành phần ObjectStreamField.@serialField field-name field-type field-description
@sinceThêm tiêu đề "Từ" với văn bản từ được chỉ định vào tài liệu được tạo.@since release
@throwsCác thẻ @throws và @exception là các từ đồng nghĩa.@throws class-name description
{@giá trị}Khi {@value} được sử dụng trong nhận xét doc của một trường tĩnh, nó sẽ hiển thị giá trị của hằng số đó.{@value package.class # field}
@phiên bảnThêm tiêu đề phụ "Phiên bản" với văn bản phiên bản được chỉ định vào tài liệu được tạo khi tùy chọn -version được sử dụng.@version phiên bản-văn bản

Thí dụ

Chương trình sau sử dụng một vài trong số các thẻ quan trọng có sẵn để nhận xét về tài liệu. Bạn có thể sử dụng các thẻ khác dựa trên yêu cầu của bạn.

Tài liệu về lớp AddNum sẽ được tạo trong tệp HTML AddNum.html nhưng đồng thời một tệp chính có tên index.html cũng sẽ được tạo.
import java.io.*;

/**
* <h1>Add Two Numbers!</h1>
* The AddNum program implements an application that
* simply adds two given integer numbers and Prints
* the output on the screen.
* <p>
* <b>Note:</b> Giving proper comments in your program makes it more
* user friendly and it is assumed as a high quality code.
*
* @author  Zara Ali
* @version 1.0
* @since   2014-03-31
*/
public class AddNum {
   /**
   * This method is used to add two integers. This is
   * a the simplest form of a class method, just to
   * show the usage of various javadoc Tags.
   * @param numA This is the first paramter to addNum method
   * @param numB  This is the second parameter to addNum method
   * @return int This returns sum of numA and numB.
   */
   public int addNum(int numA, int numB) {
      return numA + numB;
   }

   /**
   * This is the main method which makes use of addNum method.
   * @param args Unused.
   * @return Nothing.
   * @exception IOException On input error.
   * @see IOException
   */

   public static void main(String args[]) throws IOException {
      AddNum obj = new AddNum();
      int sum = obj.addNum(10, 20);

      System.out.println("Sum of 10 and 20 is :" + sum);
   }
}
Bây giờ, xử lý tệp AddNum.java ở trên bằng cách sử dụng tiện ích javadoc như sau:

$ javadoc AddNum.java
Loading source file AddNum.java...
Constructing Javadoc information...
Standard Doclet version 1.7.0_51
Building tree for all the packages and classes...
Generating /AddNum.html...
AddNum.java:36: warning - @return tag cannot be used in method with void return type.
Generating /package-frame.html...
Generating /package-summary.html...
Generating /package-tree.html...
Generating /constant-values.html...
Building index for all the packages and classes...
Generating /overview-tree.html...
Generating /index-all.html...
Generating /deprecated-list.html...
Building index for all classes...
Generating /allclasses-frame.html...
Generating /allclasses-noframe.html...
Generating /index.html...
Generating /help-doc.html...
1 warning
$

Bạn có thể kiểm tra tất cả các tài liệu được tạo ở đây - AddNum . 

Nếu bạn đang sử dụng JDK 1.7 thì javadoc không tạo ra một stylesheet.css tuyệt vời , vì vậy chúng tôi khuyên bạn nên tải xuống và sử dụng biểu định kiểu chuẩn từ

Thứ Hai, 17 tháng 9, 2018

Java - Thông tin cơ bản về Applet

Một applet là một chương trình Lập trình Java chạy trong một trình duyệt Web. Một applet có thể là một ứng dụng Java đầy đủ chức năng vì nó có toàn bộ Java API theo ý của nó.

Học lập trình Java
Có một số khác biệt quan trọng giữa một applet và một ứng dụng Java độc lập, bao gồm những điều sau đây

Một applet là một lớp Java mở rộng lớp java.applet.Applet.

Phương thức main () không được gọi trên một applet, và một lớp applet sẽ không định nghĩa main ().

Các applet được thiết kế để được nhúng trong một trang HTML.

Khi người dùng xem trang HTML chứa applet, mã cho applet được tải xuống máy của người dùng.

Cần có một JVM để xem một applet. JVM có thể là trình cắm thêm của trình duyệt Web hoặc môi trường thời gian chạy riêng biệt.

JVM trên máy của người dùng tạo ra một cá thể của lớp applet và gọi các phương thức khác nhau trong suốt vòng đời của applet.

Các applet có các quy tắc bảo mật nghiêm ngặt được thực thi bởi trình duyệt Web. Bảo mật của một applet thường được gọi là bảo mật sandbox, so sánh applet với một đứa trẻ đang chơi trong một sandbox với các quy tắc khác nhau phải được tuân theo.

Các lớp khác mà các nhu cầu của applet có thể được tải xuống trong một tệp Java Archive (JAR) duy nhất.

Vòng đời của một Applet

Bốn phương thức trong lớp Applet cung cấp cho bạn khung công tác mà bạn xây dựng bất kỳ applet nghiêm trọng nào

init - Phương thức này dành cho bất kỳ việc khởi tạo nào là cần thiết cho applet của bạn. Nó được gọi sau khi các thẻ param bên trong thẻ applet đã được xử lý.

start - Phương thức này được gọi tự động sau khi trình duyệt gọi phương thức init. Nó cũng được gọi bất cứ khi nào người dùng quay trở lại trang chứa applet sau khi đã chuyển sang các trang khác.

stop - Phương thức này được tự động gọi khi người dùng di chuyển ra khỏi trang mà applet nằm. Do đó, nó có thể được gọi nhiều lần trong cùng một applet.

destroy - Phương thức này chỉ được gọi khi trình duyệt tắt bình thường. Bởi vì các applet có nghĩa là để sống trên một trang HTML, bạn không nên để nguyên tài nguyên sau khi người dùng rời khỏi trang chứa applet.

paint - Được gọi ngay sau phương thức start () và cũng bất cứ khi nào applet cần tự vẽ lại trong trình duyệt. Phương thức paint () thực sự được kế thừa từ java.awt.

Một "Hello, World" Applet

Sau đây là một applet đơn giản có tên HelloWorldApplet.java
import java.applet.*;
import java.awt.*;

public class HelloWorldApplet extends Applet {
   public void paint (Graphics g) {
      g.drawString ("Hello World", 25, 50);
   }
}
Các câu lệnh import này đưa các lớp vào trong phạm vi của lớp applet của chúng ta -

java.applet.Applet

java.awt.Graphics

Nếu không có các câu lệnh import này, trình biên dịch Java sẽ không nhận ra các lớp Applet và Graphics, mà lớp applet đề cập đến.

Lớp Applet

Mỗi applet là một phần mở rộng của lớp java.applet.Applet . Lớp Applet cơ sở cung cấp các phương thức mà một lớp Applet dẫn xuất có thể gọi để lấy thông tin và dịch vụ từ ngữ cảnh trình duyệt.

Những phương pháp này bao gồm các phương pháp sau:

Nhận thông số applet

Nhận vị trí mạng của tệp HTML chứa applet

Nhận vị trí mạng của thư mục lớp applet

In thông báo trạng thái trong trình duyệt

Tìm nạp hình ảnh

Tìm nạp một clip âm thanh

Phát clip âm thanh

Thay đổi kích thước applet

Ngoài ra, lớp Applet cung cấp một giao diện mà trình xem hoặc trình duyệt có được thông tin về applet và kiểm soát việc thực hiện của applet. Người xem có thể -

Yêu cầu thông tin về tác giả, phiên bản và bản quyền của applet

Yêu cầu mô tả các tham số mà applet nhận ra

Khởi tạo applet

Phá hủy applet

Bắt đầu thực thi applet

Dừng thực thi applet

Lớp Applet cung cấp các triển khai mặc định của từng phương thức này. Những triển khai đó có thể bị ghi đèkhi cần thiết.

Ứng dụng "Hello, World" đã hoàn thành. Phương pháp duy nhất được ghi đè là phương pháp vẽ.

Gọi một Applet

Một applet có thể được gọi bằng cách nhúng các chỉ thị trong một tệp HTML và xem tệp thông qua trình xem applet hoặc trình duyệt có hỗ trợ Java.

Thẻ <applet> là cơ sở để nhúng một applet vào một tệp HTML. Sau đây là một ví dụ gọi applet "Hello, World"
<html>
   <title>The Hello, World Applet</title>
   <hr>
   <applet code = "HelloWorldApplet.class" width = "320" height = "120">
      If your browser was Java-enabled, a "Hello, World"
      message would appear here.
   </applet>
   <hr>
</html>
Lưu ý - Bạn có thể tham khảo Thẻ HTML Applet để hiểu thêm về cách gọi applet từ HTML.

Thuộc tính mã của thẻ <applet> là bắt buộc. Nó chỉ định lớp Applet để chạy. Chiều rộng và chiều cao cũng được yêu cầu để xác định kích thước ban đầu của bảng điều khiển trong đó một applet chạy. Chỉ thị applet phải được đóng bằng thẻ </ applet>.

Nếu một applet nhận các tham số, các giá trị có thể được chuyển cho các tham số bằng cách thêm các thẻ <param> giữa <applet> và </ applet>. Trình duyệt bỏ qua văn bản và các thẻ khác giữa các thẻ applet.

Các trình duyệt không hỗ trợ Java không xử lý <applet> và </ applet>. Do đó, bất kỳ thứ gì xuất hiện giữa các thẻ, không liên quan đến applet, đều hiển thị trong các trình duyệt không hỗ trợ Java.

Trình xem hoặc trình duyệt tìm kiếm mã Java đã biên dịch tại vị trí của tài liệu. Để xác định khác, sử dụng thuộc tính codebase của thẻ <applet> như được hiển thị

<applet codebase = "https://amrood.com/applets" code = "HelloWorldApplet.class"
   width = "320" height = "120">

Nếu một applet nằm trong một gói khác với gói mặc định, gói giữ phải được xác định trong thuộc tính mã sử dụng ký tự dấu chấm (.) Để tách các thành phần gói / lớp. Ví dụ

<applet  = "mypackage.subpackage.TestApplet.class" 
   width = "320" height = "120">

Lấy thông số Applet

Ví dụ sau đây minh họa cách làm cho một applet đáp ứng các tham số thiết lập được chỉ định trong tài liệu. Applet này hiển thị một mẫu bàn cờ màu đen và màu thứ hai.

Màu thứ hai và kích thước của mỗi ô vuông có thể được chỉ định làm tham số cho applet trong tài liệu.

CheckerApplet lấy các tham số của nó trong phương thức init (). Nó cũng có thể nhận được các tham số của nó trong phương thức paint (). Tuy nhiên, nhận được các giá trị và lưu các thiết lập một lần ở đầu của applet, thay vì ở mỗi lần làm mới, là thuận tiện và hiệu quả.

Trình xem applet hoặc trình duyệt gọi phương thức init () của mỗi applet nó chạy. Người xem gọi init () một lần, ngay lập tức sau khi tải applet. (Applet.init () được thực hiện để không làm gì cả.) Ghi đè việc triển khai mặc định để chèn mã khởi tạo tùy chỉnh.

Phương thức Applet.getParameter () tìm nạp một tham số cho tên của tham số (giá trị của tham số luôn là một chuỗi). Nếu giá trị là số hoặc dữ liệu không phải ký tự khác, chuỗi phải được phân tích cú pháp.

Sau đây là một bộ xương của CheckerApplet.java
import java.applet.*;
import java.awt.*;

public class CheckerApplet extends Applet {
   int squareSize = 50;   // initialized to default size
   public void init() {}
   private void parseSquareSize (String param) {}
   private Color parseColor (String param) {}
   public void paint (Graphics g) {}
}
Dưới đây là các phương thức init () và parseSquareSize () của CheckerApplet
public void init () {
   String squareSizeParam = getParameter ("squareSize");
   parseSquareSize (squareSizeParam);
   
   String colorParam = getParameter ("color");
   Color fg = parseColor (colorParam);
   
   setBackground (Color.black);
   setForeground (fg);
}

private void parseSquareSize (String param) {
   if (param == null) return;
   try {
      squareSize = Integer.parseInt (param);
   } catch (Exception e) {
      // Let default value remain
   }
}
Applet gọi parseSquareSize () để phân tích cú pháp tham số squareSize. parseSquareSize () gọi phương thức thư viện Integer.parseInt (), phân tích một chuỗi và trả về một số nguyên. Integer.parseInt () ném một ngoại lệ bất cứ khi nào đối số của nó không hợp lệ.

Vì vậy, parseSquareSize () bắt các ngoại lệ, thay vì cho phép applet thất bại trong đầu vào xấu.

Applet gọi parseColor () để phân tích tham số màu thành một giá trị Color. parseColor () thực hiện một chuỗi các so sánh chuỗi để khớp với giá trị tham số với tên của một màu được xác định trước. Bạn cần phải thực hiện các phương thức này để làm cho applet này hoạt động.

Chỉ định tham số Applet

Sau đây là một ví dụ về một tệp HTML với một CheckerApplet được nhúng trong nó. Tệp HTML chỉ định cả hai tham số cho applet bằng thẻ <param>.
<html>
   <title>Checkerboard Applet</title>
   <hr>
   <applet code = "CheckerApplet.class" width = "480" height = "320">
      <param name = "color" value = "blue">
      <param name = "squaresize" value = "30">
   </applet>
   <hr>
</html>
Lưu ý - Các tên tham số không phân biệt chữ hoa chữ thường.

Chuyển đổi ứng dụng thành Applet

Thật dễ dàng để chuyển đổi một ứng dụng Java đồ họa (có nghĩa là, một ứng dụng sử dụng AWT và bạn có thể bắt đầu với trình khởi chạy chương trình Java) vào một applet mà bạn có thể nhúng vào một trang web.

Sau đây là các bước cụ thể để chuyển đổi ứng dụng sang applet.

Tạo một trang HTML có thẻ thích hợp để tải mã applet.

Cung cấp một lớp con của lớp JApplet. Đặt lớp này thành công khai. Nếu không, không thể tải applet.

Loại bỏ phương pháp chính trong ứng dụng. Không xây dựng một khung cửa sổ cho ứng dụng. Ứng dụng của bạn sẽ được hiển thị bên trong trình duyệt.

Di chuyển bất kỳ mã khởi tạo nào từ hàm tạo cửa sổ khung thành phương thức init của applet. Bạn không cần phải xây dựng một cách rõ ràng đối tượng applet. Trình duyệt khởi tạo nó cho bạn và gọi phương thức init.

Xóa cuộc gọi thành setSize; cho các applet, kích thước được thực hiện với các tham số chiều rộng và chiều cao trong tệp HTML.

Xóa cuộc gọi thành setDefaultCloseOperation. Không thể đóng một applet; nó chấm dứt khi trình duyệt thoát.

Nếu ứng dụng gọi setTitle, hãy loại bỏ cuộc gọi đến phương thức. Các applet không thể có các thanh tiêu đề. (Tất nhiên, bạn có thể đặt tiêu đề trang web, sử dụng thẻ tiêu đề HTML.)

Đừng gọi setVisible (true). Applet được hiển thị tự động.

Xử lý sự kiện

Các applet kế thừa một nhóm các phương thức xử lý sự kiện từ lớp Container. Lớp Container định nghĩa một số phương thức, chẳng hạn như processKeyEvent và processMouseEvent, để xử lý các loại sự kiện cụ thể, và sau đó một phương thức catch-all gọi là processEvent.

Để phản ứng với một sự kiện, một applet phải ghi đè lên phương thức cụ thể của sự kiện thích hợp.
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.applet.Applet;
import java.awt.Graphics;

public class ExampleEventHandling extends Applet implements MouseListener {
   StringBuffer strBuffer;

   public void init() {
      addMouseListener(this);
      strBuffer = new StringBuffer();
      addItem("initializing the apple ");
   }

   public void start() {
      addItem("starting the applet ");
   }

   public void stop() {
      addItem("stopping the applet ");
   }

   public void destroy() {
      addItem("unloading the applet");
   }

   void addItem(String word) {
      System.out.println(word);
      strBuffer.append(word);
      repaint();
   }

   public void paint(Graphics g) {
      // Draw a Rectangle around the applet's display area.
      g.drawRect(0, 0, 
      getWidth() - 1,
      getHeight() - 1);

      // display the string inside the rectangle.
      g.drawString(strBuffer.toString(), 10, 20);
   }

   
   public void mouseEntered(MouseEvent event) {
   }
   public void mouseExited(MouseEvent event) {
   }
   public void mousePressed(MouseEvent event) {
   }
   public void mouseReleased(MouseEvent event) {
   }
   public void mouseClicked(MouseEvent event) {
      addItem("mouse clicked! ");
   }
}
Bây giờ, chúng ta hãy gọi applet này như sau:
<html>
   <title>Event Handling</title>
   <hr>
   <applet code = "ExampleEventHandling.class" 
      width = "300" height = "300">
   </applet>
   <hr>
</html>
Ban đầu, applet sẽ hiển thị "khởi tạo applet. Khởi động applet." Sau đó, khi bạn nhấp vào bên trong hình chữ nhật, "nhấp chuột" cũng sẽ được hiển thị.

Hiển thị hình ảnh

Một applet có thể hiển thị hình ảnh của định dạng GIF, JPEG, BMP và các định dạng khác. Để hiển thị một hình ảnh trong applet, bạn sử dụng phương thức drawImage () trong lớp java.awt.Graphics.

Sau đây là ví dụ minh họa tất cả các bước để hiển thị hình ảnh
import java.applet.*;
import java.awt.*;
import java.net.*;

public class ImageDemo extends Applet {
   private Image image;
   private AppletContext context;
   
   public void init() {
      context = this.getAppletContext();
      String imageURL = this.getParameter("image");
      if(imageURL == null) {
         imageURL = "java.jpg";
      }
      try {
         URL url = new URL(this.getDocumentBase(), imageURL);
         image = context.getImage(url);
      } catch (MalformedURLException e) {
         e.printStackTrace();
         // Display in browser status bar
         context.showStatus("Could not load image!");
      }
   }
   
   public void paint(Graphics g) {
      context.showStatus("Displaying image");
      g.drawImage(image, 0, 0, 200, 84, null);
      g.drawString("www.javalicense.com", 35, 100);
   }  
}
Bây giờ, chúng ta hãy gọi applet này như sau:
<html>
   <title>The ImageDemo applet</title>
   <hr>
   <applet code = "ImageDemo.class" width = "300" height = "200">
      <param name = "image" value = "java.jpg">
   </applet>
   <hr>
</html>

Phát âm thanh

Một applet có thể chơi một tệp âm thanh được đại diện bởi giao diện AudioClip trong gói java.applet. Giao diện AudioClip có ba phương pháp, bao gồm

public void play () - Phát clip âm thanh một lần, ngay từ đầu.

public void loop () - Làm cho clip âm thanh phát lại liên tục.

public void stop () - Dừng phát đoạn âm thanh.

Để có được một đối tượng AudioClip, bạn phải gọi phương thức getAudioClip () của lớp Applet. Phương thức getAudioClip () trả về ngay lập tức, cho dù URL có phân giải thành tệp âm thanh thực tế hay không. Tệp âm thanh sẽ không được tải xuống cho đến khi một nỗ lực được thực hiện để phát clip âm thanh.

Sau đây là ví dụ minh họa tất cả các bước để phát âm thanh
import java.applet.*;
import java.awt.*;
import java.net.*;

public class AudioDemo extends Applet {
   private AudioClip clip;
   private AppletContext context;
   
   public void init() {
      context = this.getAppletContext();
      String audioURL = this.getParameter("audio");
      if(audioURL == null) {
         audioURL = "default.au";
      }
      try {
         URL url = new URL(this.getDocumentBase(), audioURL);
         clip = context.getAudioClip(url);
      } catch (MalformedURLException e) {
         e.printStackTrace();
         context.showStatus("Could not load audio file!");
      }
   }
   
   public void start() {
      if(clip != null) {
         clip.loop();
      }
   }
   
   public void stop() {
      if(clip != null) {
         clip.stop();
      }
   }
}
Bây giờ, chúng ta hãy gọi applet này như sau:
<html>
   <title>The ImageDemo applet</title>
   <hr>
   <applet code = "ImageDemo.class" width = "0" height = "0">
      <param name = "audio" value = "test.wav">
   </applet>
   <hr>
</html>
Bạn có thể sử dụng test.wav trên máy tính của bạn để kiểm tra ví dụ trên.

Lập trình Java - Ngoại lệ

Một ngoại lệ (hoặc sự kiện đặc biệt) là một vấn đề phát sinh trong quá trình thực hiện chương trình. Khi xảy ra Ngoại lệ , luồng bình thường...