Bài tập lập trình thực hành Java. Phần I Java applet Bài tập mẫu để hiểu các thành phần cơ bản của một Javaapplet. Mục đích: Học viên nắm đ ợc các thành phần cơ bản của một Applet đơn giản. Sau đó dựa vào applet này phát triển các applet t ơng tự. Nội dung: Một applet có nhiệm vụ vẽ một hình chữ thập qua tâm applet.
Trang 1Thực hành Java
1 Bài tập mẫu để hiểu các thành phần cơ bản của một Java-applet.
Mục đích: Học viên nắm đợc các thành phần cơ bản của một Applet đơn giản Sau đó dựa vào applet này phát triển các applet tơng tự.
Nội dung: Một applet có nhiệm vụ vẽ một hình chữ thập qua tâm applet.
g.drawLine(0, d.height / 2, d.width -1, d.height /2);
g.drawLine(d.width / 2, 0, d.width / 2, d.height -1);
}
}
2 Dựa vào bài tập mẫu 1, viết một applet hiển thị đồ thị một hàm số.
Mục đích: Hiểu kỹ hơn applet ở bài tập 1 và làm quen với cách thể hiện chơng trình trong Java
Trang 2} }
Nội dung: Applet hiển thị nội dung văn bản truyền qua tham số Text truyền cho applet
qua trang web Nếu không có tham số này, chọn chuỗi hiển thị mặc định là VITTI Dòng chữ cần hiển thị đợc căn vào giữa applet.
}
}
Trang 34 Dựa vào bài mẫu 3, viết một applet hiển thị một đoạn văn bản truyền cho applet qua trang Web, và chuỗi ký tự đợc hiển thị trên đờng chéo.
Mục đích: Hiểu kỹ hơn applet ở bài tập 3 và làm quen với cách thể hiện chơng trình trong Java
Hàm số của đờng chéo hiển thị chuỗi ký tự
}
5 Bài tập mẫu thẻ hiện khả năng tơng tác với ngời sử dụng của một applet
Mục đích: Học viên biết cách xây dựng một applet có khả năng tơng tác với NSD qua các đối tợng nh nút bấm (button), hộp văn bản (textbox), Hiểu đợc cách lập trình cho các đối tợng tơng tác này.
Trang 4Nội dung: Applet có các hộp thoại cho phép NSD nhập hai toạ độ x và y và nhập một
chuỗi văn bản tuỳ ý qua 3 hộp thoại trong applet Khi NSD ấn nút SetText, applet sẽ
hiển thị chuỗi văn bản đã nhập trên applet tại toạ độ ( x,y)
Trang 5private TextField contentField;
private Button putText;
private PaintCanvas paintCanvas;
private int x,y;
private String textContent;
}
6 Bài tập mẫu thể hiện khả năng điều khiển chuột trong một applet.
Mục đích: Học viên biết cách chặn và lập trình các sự kiện liên quan đến con chuột để
có thể tự xây dựng các ứng dụng tơng tác sử dụng chuột.
Nội dung: Applet hiển thị toạ độ x,y của con chuột trong khi NSD di chuột trên applet.
Trang 6paintCanvas = new MyPaintCanvas();
paintCanvas.setData(xField, yField, contentField);
private TextField xField, yField, contentField;
private Button putText;
Trang 7private MyPaintCanvas paintCanvas;
Trang 8Mục đích: Học viên biết cách xây dựng các applet tơng tác với các hộp thoại để mở rộng hơn nữa khả năng của applet
Nội dung: Applet có 1 chuỗi văn bản và 1 nút bấm Khi NSD ấn nút này, một hộp thoại hiện ra Khi NSD đóng hộp thoại này lại, chuỗi văn bản trên applet thay đổi để báo applet biết NSD đã đóng hộp thoại.
p.add(message = new Label("Press this button "));
p.add(new Button("Open About Dialog"));
class AboutDialog extends Frame
{ public AboutDialog(MyApplet8 parent)
{
Trang 9this.parent = parent;
setTitle("About MyApplet8");
Panel p1 = new Panel();
p1.setLayout(new GridLayout(2,1));
p1.add(new Label("Vien Dao tao CNTT"));
p1.add(new Label("Ha Noi, 1/2000"));
9 áp dụng bài tập 8 để xây dựng một applet tơng tác với hộp thoại.
Mục đích: Hiểu rõ cách xây dựng một applet cho phép NSD tơng tác với hộp thoại và nhận thông tin từ hộp thoại chuyển về cho applet.
Nội dung: Applet có một nút bấm và một hộp văn bản Nút bấm sẽ cho phép NSD nhập thông tin vào các dòng văn bản của hộp thoại Sau khi đóng hộp thoại, hộp văn bản trên Applet sẽ hiển thị nội dung các dòng văn bản NSD đã nhập, chứng tỏ có đã truyền đợc thông tin từ hộp thoại đến applet.
Lời giải:
import java.applet.*;
import java.awt.*;
Trang 10public class MyApplet9 extends Applet
p.add(new Button("Open About Dialog"));
p.add(message = new TextField("",30));
class AboutDialog extends Frame
{ public AboutDialog(MyApplet9 parent)
p1.add(new Label("Enter name"));
p1.add(name = new TextField("", 10));
Trang 12Mục đích: Học viên biết cách kết nối một ứng dụng Java với một CSDL qua kết nối trung gian ODBC sử dụng JDBC Thể hiện đợc khả năng truy xuất (query) và cập nhật dữ liệu (update) sử dụng Java.
Nội dung: Hiển thị nội dung thông tin của một CSDL về bảng lơng ( CSDL Access) và cập nhật thêm thông tin vào CSDL này.
String url = "jdbc:odbc:Emp";
String query = "SELECT Name,Address from BangLuong";
String update = "INSERT INTO BangLuong VALUES ('Pham Ba Hung','TP.Hai Phong',3000)"; try
Trang 14String url = "jdbc:odbc:Emp";
String query = "SELECT Name,Address,Salary from BangLuong";
Trang 16private static boolean checkForWarning(SQLWarning warn) throws SQLException {
public boolean handleEvent(Event evt)
{ if (evt.id == Event.WINDOW_DESTROY) System.exit(0);
Trang 17else if (arg.equals("Quit")) System.exit(0);
else return false;
3 Dựa vào bài 1 và bài 2, bổ sung thêm tính năng cập nhật dữ liệu cho CSDL
Mục đích: Hiểu đợc bài 1 và 2, qua đó xây dựng một ứng dụng Java nhỏ có thể kết nội
và truy xuất, cập nhật DL nh các ứng dụng trong thực tế.
Nội dung: Ngoài khả năng duyệt bản ghi nh bài 2, cho phép NSD cập nhật dữ liệu ( thêm bản ghi) Kết thúc chế độ cập nhật, NSD có thể quay về chế độ duyệt.
String url = "jdbc:odbc:Emp";
String query = "SELECT Name,Address,Salary from BangLuong";
ResultSet rs;
Connection con;
Trang 18Statement stmt;
TextField name, address, salary;
Button first, next, add, quit;
p1.add(first = new Button("First"));
p1.add(next = new Button("Next"));
p1.add(add = new Button("Add"));
p1.add(quit = new Button("Quit"));
Trang 20private void dispResultSet(ResultSet rs) throws SQLException {
Trang 21{ if (evt.id == Event.WINDOW_DESTROY) System.exit(0); return super.handleEvent(evt);
else if (arg.equals("Quit")) System.exit(0);
else return false;
return true;