Java Applet

Applet là 1 chương trình Java có thể chạy trong trình ưng chuẩn website. Tất cả những applet phần nhiều là các lớp con của lớp ‘Applet’.Quý khách hàng đã xem: Applet là gì

Lớp Applet thuộc package ‘java.applet’. Lớp Applet bao hàm các cách tiến hành nhằm tinh chỉnh quy trình triển khai của applet. Để tạo applet, bạn cần import nhị gói sau:

java.applet java.awt Cấu trúc của một Applet

Một Applet có mang cấu tạo của nó tự 4 sự kiện xảy ra trong veo quy trình xúc tiến. Đối cùng với mỗi sự kiện, một cách làm được call một cách tự động hóa. Các cách làm này được minh hoạ trong

Điều đặc trưng là chưa hẳn dịp làm sao applet cũng bước đầu từ ban sơ. Mà nó bắt đầu từ vị trí; tiếp sau của quy trình thực thi trước kia.

Bạn đang xem: Applet là gì

Ngoài phần đông cách tiến hành cơ bản này, còn tồn tại phần đông cách tiến hành ‘paint()’ và ‘repaint()’. Pmùi hương thức paint() dùng làm hiển thị một đường thẳng (line), text, hoặc một hình ảnh nền applet. Đối số của thủ tục này là đối tượng của lớp Graphics. Lớp này thuộc gói java.awt. Câu lệnh sau được dùng để làm import lớp Graphics:

import java.awt.Graphics;

Các cách làm của một Applet
Phương thức Chức năng
init() Được gọi vào quy trình khởi tạo thành applet. Trong quá trình khởi tạo nên, nó sẽ khởi tạo đối tượng người dùng nhằm cung cấp đến applet. Pmùi hương thức này được dùng làm tải những hình ảnh đồ dùng hoạ, khởi sinh sản những biến hóa với chế tạo các đối tượng.
start() Được Hotline gọi lúc một applet ban đầu triển khai. Một lúc quy trình khởi tạo hoàn chỉnh, thì applet được khởi đụng. Phương thức này được dùng để khởi rượu cồn lại applet sau khi nó sẽ xong xuôi trước đó
stop() Được Gọi Lúc chấm dứt thực hiện một applet. Một applet bị xong xuôi trước lúc nó bị huỷ.
destroy() Được dùng làm huỷ một applet. lúc một applet bị huỷ, thì bộ nhớ lưu trữ, thời hạn xúc tiến của vi xử lý, không khí đĩa được trả về cho hệ thống.
Pmùi hương thức ‘repaint()’ được dùng lúc hành lang cửa số phải cập nhật lại. Phương thơm thức này chỉ cần một thông số. Tham số này là đối tượng người sử dụng của lớp Graphics.

Applet sử dụng cách thức ‘showStatus()’ nhằm hiển thị đọc tin bên trên tkhô cứng tâm lý. Phương thức gồm tham mê số ở trong hình trạng dữ liệu String. Để rước các báo cáo của applet, user rất có thể overide cách làm ‘getAppletInfo()’ của lớp Applet. Pmùi hương thức này trả về 1 đối tượng người tiêu dùng kiểu dáng String.

Các phương thức của applet init(), start(), stop(), destroy(), và paint() được vượt kế xuất phát từ một applet. Nhưng mang định hầu như cách tiến hành này không triển khai một thao tác nào cả.

Đây là ví; dụ đơn giản và dễ dàng của applet. Câu lệnh sau chế tác một tấm mang tên là ‘Applet1’, lớp này đã thừa kế toàn bộ các cách làm với biến chuyển của lớp ‘applet’.

public class Applet1 extends Applet Phương thức init() với paint() thường xuyên được dùng làm triển khai một trong những hàm để tạo với vẽ applet. Pmùi hương thức ‘g.drawString()’ chỉ ra rằng vị trí; mà đoạn văn uống bạn dạng được vẽ ở chỗ nào bên trên màn hình.

import java.awt.*; import java.applet.*; public class Applet1 extends Applet int num; public void init() num = 6; public void paint (Graphics g) g.drawString ("Hello to lớn Applet. Chapter " + num, 70, 80); showStatus (getAppletInfo()); //Hiển thị một chuổi được trả về tự hàm getAppletInfo() trên //tkhô nóng tinh thần public String getAppletInfo() //user overrides return "Created by Aptech"; Sử dụng cú pháp sau để dịch một Applet:

javac Applet1.java Để thực thi một applet, ta đề xuất tạo thành một file HTML. File HTML này thực hiện thẻ applet. Thẻ applet này rước tsay mê số đầu tiên là đường dẩn của tệp tin applet.

Thẻ applet có hai ở trong tí;nh sau:

Width Height

Để truyền tsi số vào applet, áp dụng param, tiếp đến là thuộc tí;nh value. Sau đây là ví; dụ của thẻ applet:

Hiện giờ, ta hoàn toàn có thể thực hiện applet này bằng phương pháp cần sử dụng trình coi applet. Đây là dụng cụ của JDK. Để chạy file HTML trong trình coi applet, ta gõ câu lệnh sau:

appletviewer abc.html // ‘abc.html’ là tên của tệp tin HTML Một tuỳ chọn khác của applet là ta thêm thẻ applet nlỗi là 1 trong chiếc crúc thí;ch trong đoạn code. Lúc đó, applet được dịch, cùng thực thi bằng cách thực hiện lệnh sau:

appletviewer Applet1.java Sau đây là hiệu quả của công tác trên:


*

Applet

Sự khác biệt giũa Application với Applet

Sau đây là sự không giống nhau giữa application với applet:

Để thực hiện các application chúng ta sử dụng trình thông ngôn java, trong những lúc đó applet hoàn toàn có thể chạy được trên những trình để mắt (có hổ trợ Java) hay được sử dụng công cụ appletViewer, cơ chế này kèm theo cùng với JDK. Quá trình thực hiện của application bước đầu trường đoản cú cách thức ‘main()’. Tuy nhiên applet thì ko làm như vậy. Các application thực hiện ‘System.out.println()’ nhằm hiển thị hiệu quả ra màn hình trong những lúc kia applet sử dụng thủ tục ‘drawString()’ để xuất ra màn hình hiển thị.

Một điều đáng để ý là một lịch trình Java hiếm hoi thì rất có thể vừa là application vừa là applet. Chức năng của applet được bỏ qua mất khi nó được thực hiện như là 1 application và ngược chở lại.

import java.applet.Applet; import java.awt.*; /* */ public class both extends Applet Button btn; public void init() btn = new Button ("Click"); public void paint (Graphics g) g.drawString ("Applet", 70, 50); public static void main (String args) both phầm mềm = new both(); ứng dụng.init(); System.out.println("Application Main"); Sau Lúc biên dịch lịch trình, nó có thể được thực thi như là một trong những applet bằng phương pháp áp dụng cú pháp sau:

appletviewer both.java Kết đúng thật sau:


*

Applet

Nếu chạy lịch trình bên trên nhỏng một application, thì áp dụng cú pháp sau:

java both Kết quả là:


*

Application

Khi applet chạy xe trên trình phê duyệt website, Điểm lưu ý này đích thực hữu í;ch Lúc bạn muốn mua applet trong một frame bắt đầu. Ví; dụ: trong applet được tạo ra nhằm chat, một số trang web sử dụng một hành lang cửa số chat cá biệt để chat. Bạn cũng rất có thể kết hợp những Đặc điểm của frame và applet vào trong một công tác.

Những số lượng giới hạn bảo mật bên trên applet

Có một trong những tinh giảm cơ mà applet cần yếu có tác dụng được. Bởi vì các applet của Java rất có thể phá hỏng toàn thể hệ thống của người tiêu dùng. Các xây dựng viên Java có thể viết những applet để xoá file, rước những thông tin những nhân của hệ thống…

Vì chũm, các applet của java thiết yếu làm cho những vấn đề sau:

Không thể gọi hoặc ghi file trên khối hệ thống file của người sử dụng. Không thể giao tiếp với các site internet, nhưng chỉ có thể với các website có applet mà thôi. Không thể chạy bất cứ lịch trình gì bên trên hệ thống của fan hiểu. Không thể cài đặt bất cứ chương trình được tàng trữ trong hệ thống của người tiêu dùng.

Những số lượng giới hạn bên trên chỉ đúng vào lúc các applet được chạy xe trên trình chăm chút Netscape Navigator hoặc Microsoft InteExplorer.

Chu trình sống của một Applet

Chu trình sinh sống của một Applet được bộc lộ sống sơ trang bị dưới đây:


*

Chu trình sinh sống của một applet

Đầu tiên, applet được tạo.

Bước tiếp nối là khởi tạo thành. Như vậy xảy ra lúc 1 applet được nạp. Quá trình này bao gồm vấn đề sinh sản các đối tượng người tiêu dùng mà applet đề nghị. Phương thơm thức init() được quan niệm đtrần nhằm cung cấp những hành động để tạo.

Một Lúc applet được khởi sản xuất, applet sẽ tiến hành khởi động. Applet hoàn toàn có thể khởi cồn ngay cả Lúc nó đã làm được chấm dứt trước kia. Ví; dụ, giả dụ trình chú ý khiêu vũ mang lại một link làm sao kia làm việc trang khác, thời điểm đó applet có khả năng sẽ bị kết thúc, với được khởi rượu cồn trở về lúc người tiêu dùng trở lại trang đó.

Sự khác nhau thân quy trình khởi tạo nên với quá trình khởi cồn là một applet hoàn toàn có thể khởi cồn nhiều lần, dẫu vậy qúa trình khởi tạo ra thì chỉ xảy ra một đợt.

Phương thức ‘start()’ được override để cung cấp các thao tác khởi rượu cồn mang đến applet.

Pmùi hương thức ‘stop()’ chỉ được Điện thoại tư vấn khi user không còn nghỉ ngơi trang đó nữa, hoặc trang đó đã được thu nhỏ lại sinh hoạt bên dưới tkhô cứng taskbar.

tiếp nối là cách tiến hành ‘destroy()’. Phương thức này góp applet dọn dẹp trước lúc nó được giải pngóng khỏi vùng ghi nhớ, hoặc trước khi truyệt săn sóc dứt. Phương thơm thức này được dùng để huỷ mọi luồng (thread) xuất xắc quá trình đang chạy.

Xem thêm: Synaptics Pointing Device Driver Là Gì, Syntp Là Gì

Phương thức ‘destroy()’ khác với phương thức finalize() là thủ tục destroy() chỉ dùng mang đến applet, trong những khi finalize() là giải pháp tổng thể để lau chùi applet.

Phương thơm thức paint() cũng là một trong phương thức quan trọng khác. Phương thơm thức này cho phép ta hiển thị một cái nào đó bên trên màn hình. Có thể là text, con đường thẳng, màu sắc nền, hoặc hình hình ảnh. Phương thơm thức này xảy ra nhiều lần trong veo quy trình applet trường thọ. Pmùi hương thức này xúc tiến một lượt sau thời điểm applet được khởi chế tác. Nó sẽ lặp đi tái diễn Lúc dịch chuyển tự cửa sổ trình chăm bẵm sang hành lang cửa số không giống. Nó cũng xảy ra Khi hành lang cửa số trình duyệt biến đổi vị trí; của chính nó trên màn hình.

Pmùi hương thức ‘paint()’ bao gồm một tmê say số. Tđê mê số này là đối tượng người tiêu dùng của lớp Graphics. Lớp Graphics trực thuộc lớp java.awt, họ yêu cầu import trong đoạn code của applet. Chúng ta hoàn toàn có thể sử dụng đoạn mã sau:

import java.awt.Graphics; Truyền tsay đắm số đến Applet Trong lịch trình sau, họ đang truyền tham số đến applet. Thành phần nút ‘bNext’ có tên được truyền như là 1 trong những tđắm say số. Phương thơm thức ‘init()’ vẫn kiểm soát tsay mê số có tên là ‘mybutton’. Sau kia, nó tạo một nút ít cùng với chuổi đó như là tên của nút. Nếu không có tsay đắm số truyền vào, nút đó có tên khoác định là ‘Default’.

Bây giờ bọn họ định nghĩa thẻ trong đoạn mã HTML như sau:

/* */ import java.awt.*; import java.applet.*; /* */ public class Mybutton1 extends Applet Button bNext; public void init() /*getParameter returns the value of the specified pareameter in the size of a String object*/ String str = getParameter("mybutton"); //when no parameter is passed if (str==null) str = new String ("Default"); //when parameter is passed bNext = new Button(str); add (bNext); Sau đây là hiệu quả của công tác trên:


*

truyền tham số mang lại applet

Bây giờ chúng ta đã sử dụng lớp Graphics nhằm vẽ các hình ví dụ điển hình như: con đường thẳng, hình oval, và hình chữ nhật. Chúng ta sẽ học lớp Font trong số phần sau. Lớp này hoàn toàn có thể dùng để làm hiển thị vnạp năng lượng bản bằng bất kể phông nào.

Lớp Graphics

Java cung ứng gói AWT chất nhận được ta vẽ các hình vật hoạ. Lớp Graphics bao gồm tập hòa hợp không ít thủ tục. Nhưng phương thức này được thực hiện để vẽ bất kể hình nào trong số hình sau:

Oval Rectangle Square Circle Lines Text

quý khách hàng rất có thể vẽ đầy đủ hình này bằng bất cứ màu sắc như thế nào. Frame, Applet cùng Canvas là những môi trường nhằm hiển thị trang bị hoạ.

Để vẽ bất cứ hình hình ảnh làm sao bọn họ cần được gồm nền đồ gia dụng hoạ (Graphical Background). Để có được một nền vật dụng hoạ, bọn họ goi thủ tục ‘getGraphics()’ hay bất cứ thủ tục nào trong các cách làm sau đây:

repaint()

Được hotline Khi đề xuất vẽ lại đa số đối tượng người tiêu dùng sẽ vẽ.

update(Graphics g)

Phương thức này vẫn xoá hầu như đối tượng người dùng đang vẽ, cùng truyền nó mang đến đối tượng người tiêu dùng của lớp Graphics nhằm Call cách tiến hành ‘paint()’;

paint(Graphics g)

Được call vị thủ tục update().

Đối tượng được truyền mang lại cách làm này được dùng làm vẽ. Phương thức này dùng làm vẽ những hình ảnh thiết bị hoạ khác biệt.

Việc Gọi cách làm paint() lặp đi tái diễn thông qua cách làm repaint() đã xoá đi những hình vẫn vẽ trước đó. Để vẽ các hình mới mà vẫn lưu giữ hầu hết hình vẫn vẽ trước kia, họ phải override lại thủ tục update().

public void update (Graphics g) paint (g); Tại phía trên, cách thức update() sẽ không xoá gần như đối tượng người sử dụng vẫn vẽ, nhưng chỉ hotline cách tiến hành paint(). Để làm được điều đó, nó truyền đối tương của lớp Graphics hoặc GraphicsContext mang đến thủ tục paint(). Ở đây, đối tượng của lớp Graphics là ‘g’.

Vẽ những chuỗi, các ký kết tự và những byte

Chương trình sau minc hoạ những vẽ những chuỗi, ký kết từ bỏ với những byte.

Để vẽ hoặc in một chuỗi, lớp Graphics hỗ trợ cách thức ‘drawString()’. Cú pháp như sau:

drawString (String str, int xCoor, int yCoor); Ba tham mê số là:

Chuỗi nên vẽ. Toạ độ X trên frame, khu vực chuỗi cần phải vẽ. Toạ độ Y bên trên frame, địa điểm chuỗi rất cần được vẽ.

Để vẽ hoặc xuất những ký từ trên frame, lớp Graphics hỗ trợ thủ tục ‘drawChars’. Cú pháp nlỗi sau:

drawChars (char array, int offphối, int length, int xCoor, int yCoor); Chú thí;ch những tđắm say số:

Mảng các cam kết tự. Vị trí; ban đầu, nới các cam kết tự được vẽ. Số những ký kết tự cần được vẽ. Toạ độ X, nơi các cam kết từ rất cần được vẽ. Toạ độ Y, nơi các ký kết trường đoản cú cần phải vẽ.

Lớp Graphics cung ứng cách làm ‘drawBytes()’ nhằm vẽ hoặc in các byte ra frame. Cú pháp của cách tiến hành nàhệt như sau:

drawBytes (byte array, int offmix, int length, int xCoor, int yCoor); 5 tmê man số của cách tiến hành bên trên là:

Mảng các byte. Vị trí; offphối giỏi vị trí; bắt đầu. Số byte đề nghị vẽ. Toạ độ X. Toạ độ Y.

Đối với cùng 1 ký kết tự hoặc một mảng các byte, bạn cũng có thể in một phần của mảng nhưng thôi. Tại đây, toạ độ x và y là toạ độ tí;nh theo mẫu.

import java.awt.*; public class DrawStrings extends Frame public DrawStrings() super ("Draw strings, characters, bytes"); setSize (300, 300); setVisible (true); public void paint(Graphics g) g.drawString ("Good Morning", 50, 50); g.drawString ("Good Afternoon", 50, 75); g.drawString ("Good Night", 50, 100); char ch = "a","b","c","d","e","f"; g.drawChars(ch,2,4,50,125); byte b = 100,101,102,103,104,105,106,107; g.drawBytes(b,1,6,50,150); public static void main (String args) new DrawStrings(); Chương trình trên vẽ chuỗi, ký từ xuất phát điểm từ 1 mảng ký kết trường đoản cú, cùng vẽ các byte tự mảng các byte. Quý khách hàng buộc phải import gói java.awt nhằm thực hiện các đối tượng người dùng thứ hoạ tất cả sẳn vào gói này. Ta yêu cầu có tác dụng điều này vì chưng lớp Graphics phía bên trong gói này.

Sau đây là công dụng của công tác trên:


Strings, characters và bytes

Vẽ mặt đường trực tiếp (Line) với Oval

Sau đó là cú pháp của những thủ tục được sử dụng để vẽ mặt đường thẳng cùng hình oval:

drawLine (int x1, int y1, int x2, int y2); drawOval (int xCoor, int yCoor, int width, int height); setmàu sắc (Color c); fillOval (int xCoor, int yCoor, int width, int height);

Pmùi hương thức ‘drawLine()’ nhận những tđắm đuối số sau:

Toạ độ X, vị trí ban đầu vẽ (x1). Toạ độ Y, khu vực bước đầu vẽ (y1). Toạ độ X, vị trí dứt vẽ (x2). Toạ độ Y, địa điểm chấm dứt vẽ (y2).

Phương thơm thức này bắt đầu vẽ trên toạ độ ‘x1’ với ‘y1’, cùng kết thúc tại toạ độ ‘x2’ và ‘y2’. Để vẽ tuy thế con đường thẳng có màu, bọn họ tùy chỉnh thiết lập một màu sắc làm sao kia. Phương thơm thức ‘setColor’ dùng để làm tùy chỉnh cấu hình màu cho hình ảnh vật dụng hoạ. Trong lịch trình này, họ sử dụng câu lệnh sau để lựa chọn màu xanh:

g.setmàu sắc (màu sắc.blue); Phương thơm thức ‘drawOval()’ thừa nhận 4 thông số kỹ thuật sau:

Toạ độ X. Toạ độ Y. Chiều rộng của hình Oval. Chiều cao của hình Oval.

Đối với hình oval rộng lớn, thì quý hiếm của chiều rộng lớn to hơn độ cao, và trở lại so với hình oval cao.

Phương thơm thức ‘fillOval()’ thừa nhận 4 thông số, cơ mà nó sẽ tô hình oval. Sử dụng cách tiến hành setColor để tại vị màu sơn.

g.setColor(màu sắc.cyan); Tại phía trên, hình oval sẽ được đánh cùng với màu cyan. Lớp màu sắc hỗ trợ các màu sắc không giống nhau mà khối hệ thống bao gồm hổ trợ.

Vẽ hình chữ nhật (Rectangle) và hình chữ nhật bo góc (Rounded Rectangle)

Sau đó là cú pháp của các cách tiến hành được dùng để làm vẽ hình chữ nhật và hình chữ nhật bo góc:

drawRect (int xCoor, int yCoor, int width, int height); fillRect (int xCoor, int yCoor, int width, int height); drawRoundRect (int xCoor, int yCoor, int width, int height, int arcwidth, int archeight); fillRoundRect (int xCoor, int yCoor, int width, int height, int arcwidth, int archeight);

Phương thơm thức ‘drawRect()’ được dùng làm vẽ hình chữ nhật đơn giản và dễ dàng. Phương thơm thức này dấn 4 tmê mẩn số sau:

Toạ độ X của góc bên trên phía trái Toạ độ Y của góc trên phía bên trái Chiều rộng lớn của hình chữ nhật Chiều cao của hình chữ nhật

Phương thơm thức này vẽ hình chữ nhật bao gồm chiều rộng lớn với độ cao đến trước, bước đầu tại toạ độ X, Y. Chúng ta rất có thể tùy chỉnh cấu hình màu sắc của hình chữ nhật. Ở phía trên, bọn họ chọn red color. Câu lệnh sẽ nlỗi sau:

g.setMàu sắc (màu sắc.red); Pmùi hương thức ‘drawRoundRect()’ vẽ hình chữ nhật tất cả những góc tròn. Pmùi hương thức này nhấn 6 tsi số, trong các số đó 4 tđam mê số đầu thì tương đương với cách thức drawRect. Hai tđê mê số không giống là:

arcwidth của hình chữ nhật archeight của hình chữ nhật

Tại phía trên, ‘arcwidth’ có tác dụng tròn góc trái và góc buộc phải của hình chữ nhật. ‘archeight’ làm cho tròn góc trên đỉnh và góc lòng của hình chữ nhật. Ví; dụ, arcwidth = đôi mươi tức là hình chữ nhật được gia công tròn cạnh trái và cạnh cần từng cạnh 10 px. Tương từ bỏ, archeight = 40 sẽ khởi tạo ra hình chữ nhật được gia công tròn từ đỉnh mang đến đáy 20 pixel.

Pìxel là đơn vị đo. Nó là đơn vị chức năng bé dại tuyệt nhất vào vùng vẽ.

Để sơn tốt vẽ hình chữ nhật với hình chữ nhật bo góc, chúng ta sử dụng thủ tục ‘fillRect()’ với ‘fillRoundRect()’. Những cách làm này dìm các tyêu thích số tương tự với cách làm drawRect() với drawRoundRect(). Những thủ tục này vẽ các hình hình họa với một màu đến trước hoặc bắt đầu color hiện nay hành. Lệnh sau dùng để làm vẽ hình với color xanh:

g.setColor(Color.green);

Vẽ hình chữ nhật 3D và vẽ hình cung (Arc)

Sau đấy là cú pháp của những phương thức dùng để vẽ hình chữ nhật 3D và hình cung:

draw3Drect (int xCoord, int yCoord, int width, int height, boolean raised); drawArc(int xCoord, int yCoord, int width, int height, int arcwidth, int archeight); fillArc(int xCoord, int yCoord, int width, int height, int arcwidth, int archeight);

Phương thức ‘draw3Drect()’ dìm 5 tham số. 4 tyêu thích số đầu thì tương tự như với thủ tục để vẽ hình chữ nhật. Tuy nhiên, cực hiếm của tsi số sản phẩm 5 ra quyết định là hình chữ này này có 3D hay là không. Tsay mê số đồ vật 5 gồm phong cách dữ liệu là boolean. Giá trị này True Có nghĩa là hình chữ nhật là 3D.

Phương thức ‘drawArc()’ dìm 6 tđê mê số sau:

Toạ độ x Toạ độ y Chiều rộng lớn của cung được vẽ. Chiều cao của cung được vẽ. Góc bắt đầu. Độ rộng của cung (góc của cung) đối với góc ban sơ.

Pmùi hương thức ‘fillArc()’ cũng nhận 6 tmê man số hệt như phương thức drawArc(), dẫu vậy nó vẽ cung và tô cung với màu giờ đây.

Xem thêm: Chiến Dịch Huyền Thoại Của Garena Sắp Đóng Cửa, Bắt Đầu "Đền Bù" Từ 26/10

Vẽ hình PolyLine

Chương thơm trình sau mang những điểm từ bỏ nhị mảng để vẽ một loạt các mặt đường thẳng.

Cú pháp của cách tiến hành này như sau:

drawPolyline (int xArray, int yArray, int totalPoints); g.setFont (new Font(“Times Roman”, Font.BOLD, 15));

Phương thức ‘drawPolyline()’ nhấn 3 tsay mê số sau:

Mảng lưu trữ toạ độ x của những điểm. Mảng tàng trữ toạ độ y của các điểm. Tổng số điểm cần vẽ.

Để vẽ những mặt đường thẳng ta lấy những điểm tự nhị mảng nhỏng sau:

(array1, array2)(array1, array2) (array1, array2)... Số đường thẳng vẽ được luôn luôn nhỏ dại rộng số truyền vào thông số kỹ thuật thứ 3 của cách tiến hành drawPolyline(). Ví; dụ như: totalPoints - 1

import java.awt.*; class PolyLines extends Frame int x1 = 50, 75, 95, 115, 135; int y1 = 50, 30, 60, 75, 60; int x2 = 67, 82, 95, 120, 135; int y2 = 150, 130, 160, 155, 180; public PolyLines()//constructor super ("Poly Lines"); setSize (300, 300); setVisible (true); public void paint (Graphics g) g.drawPolyline (x1, y1, 5); g.setFont (new Font("Times Roman", Font.BOLD, 15)); g.drawString("Current màu sắc is black", 100, 100); g.setColor(Color.blue); g.drawPolyline (x2, y2, 5); g.drawString ("Current Color is blue", 100, 200); public static void main (String args) new PolyLines(); Kết trái của chương trình được minh hoạ sinh hoạt