Hướng dẫn thực hành lập trình hướng đối tượng với Java

143 595 0
Hướng dẫn thực hành lập trình hướng đối tượng với Java

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Một tài liệu hoàn hảo cho người mới bắt đầu học lập trình Java. Tài liệu có các dạng bài tập từ cơ bản đến nâng cao được sắp xếp theo modul từng phần rõ ràng. Đặc biệt, các bài tập có lời giải chi tiết, có code mẫu, chuẩn theo tiêu chuẩn code quốc tế trên công cụ eclipse trực quan

Lập trình hướng đối tượng với Java Hướng Dẫn Thực Hành Lập Trình Java Khối: Đại Học Cao Đẳng Năm 2013 Hướng dẫn: Bài tập thực hành chia theo Module Mỗi Module thiết kế cho thời lượng tiết thực hành lớp với hướng dẫn giảng viên Tùy theo số tiết phân bổ, tuần học thực nhiều Module Sinh viên phải làm tất tập Module tuần tương ứng Những sinh viên chưa hòan tất phần tập lớp có trách nhiệm tự làm tiếp tục nhà Các có dấu (*) tập nâng cao dành cho sinh viên giỏi Trang Lập trình hướng đối tượng với Java Trang Lập trình hướng đối tượng với Java Mục lục Module : Ôn tập Graphic User Interface Module 2: Thực hành MultiThreading 23 Module 3: Thực hành Collections 34 Module 4: Thực hành Networking 46 Module 5: Thực hành JDBC 64 Module 6: Thực hành JSP 75 Trang Lập trình hướng đối tượng với Java MODULE Mục đích: Ôn tập Graphic User Interface, giúp sinh viên hiểu LayoutManager, Common Control, Event, DialogBox, Advanced Control Sinh viên phải thực tốt Module để ứng dụng cho Module tiếp theo, đặc biệt phần kết nối sở liệu Bài tập 1: Thực hành cách hiển thị cửa sổ Windows Java Hãy hiển thị cửa sổ trên, yêu cầu viết class kế thừa từ JFrame Hướng dẫn: Giải thích: Trang Lập trình hướng đối tượng với Java Bài tập 2: Thực hành FlowLayout FlowLayout cho phép add control dòng, hết chỗ chứa tự động xuống dòng, ta điều chỉnh hướng xuất control Mặc định JPanel khởi tạo thân lớp chứa có kiểu Layout FlowLayout Hướng dẫn: Trang Lập trình hướng đối tượng với Java Bài tập 3: Thực hành BoxLayout BoxLayout cho phép add control theo dòng cột, vị trí add chấp nhận control, muốn xuất nhiều control vị trí bạn nên add vị trí JPanel sau add control khác vào JPanel BoxLayout.X_AXIS : Cho phép add control theo hướng từ trái qua phải BoxLayout.Y_AXIS : Cho phép add control theo hướng từ xuống Trang Lập trình hướng đối tượng với Java BoxLayout không tự động xuống dòng hết chỗ chứa, tức control bị che khuất thiếu không gian chứa Hướng dẫn: Trang Lập trình hướng đối tượng với Java Bài tập 4: Thực hành BorderLayout BorderLayout giúp hiển thị control theo vùng: North, South, West, East, Center Nếu vùng : North, West, South, East Thì vùng Center tràn đầy cửa sổ, thông thường đưa control JTable, JTree, ListView, JScrollpane… ta thường đưa vào vùng Center để tự co giãn theo kích thước cửa sổ giúp giao diện đẹp Trang Lập trình hướng đối tượng với Java Trang Lập trình hướng đối tượng với Java Bài tập 5: Thực hành control JButton JLabel JTextField JTextArea ButtonGroup & JRadioButton JCheckBox JComboBox JList Thiết kế giao diện để giải phương trình bậc 2: Hướng dẫn: Sinh viên phải xác định Layout Manager trước, ta kế hợp Layout để thiết kế giao diện, đặt tên control theo yêu cầu bên Tên Control Tên Biến Control Mô tả JTextField txtSoa Dùng để nhập giá trị cho a JTextField txtSob Dùng để nhập giá trị cho b Trang 10 Lập trình hướng đối tượng với Java Nhập liệu vài mẫu tin thử Tạo ứng dụng Dynamic Web Project có tên QLTS Thiết kế trang index.jsp cho chạy hiển thị danh sách thí sinh hình sau: Trang 129 Lập trình hướng đối tượng với Java Khi nhấn vào link Insert New cho phép người dùng nhập thông tin thí sinh thêm vào CSDL hình: Khi nhấn link Edit cho phép người dùng hiệu chỉnh thông tin thí sinh chọn sau cập nhật xuống csdl Trang 130 Lập trình hướng đối tượng với Java Khi nhấn Link Delete xóa thí sinh chọn Gợi ý: kiến trúc dự án eclipse Trang 131 Lập trình hướng đối tượng với Java Bài tập 2: Quản lý sinh viên Sinh viên làm theo mẫu Lab để làm quen với Servlet Lab làm ví dụ cho tập - Chương cho phép hiển thị danh sách sinh viên - Thêm sinh viên - Chỉnh sửa thông tin sinh viên - Xóa sinh viên Dưới phần thiết kế sở liệu quản lý sinh viên Trang 132 Lập trình hướng đối tượng với Java Cấu trúc Website Eclipse tạo sau: Giải thích: Webcontent chứa tập tin web jsp: Trang index.jsp hiển thị danh sách sinh viên theo mẫu bên dưới: Trang 133 Lập trình hướng đối tượng với Java Trang update.jsp/ newpage.jsp: Dùng để chỉnh sửa/ thêm sinh viên: Trang deletepage.jsp : dùng để thực thi việc xóa sinh viên theo mã Trong Java Resource có package thực chức sau: vn.edu.hui.connector : Dùng để tương tác trực tiếp tới sở liệu (Tạo connection, tạo Resultset, tạo Statement, update thông tin…) vn.edu.hui.model : lưu trữ class mô hình hóa sở liệu thành hướng đối tượng vn.edu.hui.dal : Dùng để tương tác với connector, kết hợp chặt chẽ với model vn.edu.hui.servlet : Servlet để xử lý thông tin từ trang Jsp gửi Dưới coding package ConnectorFactory: package vn.edu.hui.connector; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class ConnectorFactory { public Connection getConnect() { Connection conn=null; Trang 134 Lập trình hướng đối tượng với Java try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); conn =DriverManager.getConnection ("jdbc:sqlserver://localhost;databaseName=dbqlsv;user=sa;password=hoilamgi"); } catch (Exception e) { e.printStackTrace(); } return conn; } public Statement createStatement() { Statement st=null; try { st = getConnect().createStatement(); } catch (SQLException e) { e.printStackTrace();} return st; } public ResultSet execQuery(String sql) { ResultSet rs=null; try { rs=createStatement().executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); } return rs; } public int excecNonQuery(String sql) { Statement st=createStatement(); int ret=0; try { ret = st.executeUpdate(sql); Trang 135 Lập trình hướng đối tượng với Java } catch (SQLException e) { e.printStackTrace();} return ret; } } Trang 136 Lập trình hướng đối tượng với Java 45 Package Model Package dal: package vn.edu.hui.dal; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import vn.edu.hui.connector.ConnectorFactory; import vn.edu.hui.model.Sinhvien; public class ProcessSinhvien { ConnectorFactory factor=null; public ProcessSinhvien() { factor=new ConnectorFactory(); } public ArrayList getList() Trang 137 Lập trình hướng đối tượng với Java { ResultSet rs=factor.execQuery("select * from sinhvien"); ArrayListlist=new ArrayList(); try { while(rs.next()) { Sinhvien sv=new Sinhvien(rs.getString("masinhvien"), rs.getString("tensinhvien"), rs.getString("malop")); list.add(sv); } } catch (SQLException e) { e.printStackTrace(); } return list; } public Sinhvien getInfor(String masv) { Sinhvien sv=null; try { ResultSet rs=factor.execQuery("select * from sinhvien where masinhvien='"+masv+"'"); rs.next(); sv=new Sinhvien(rs.getString("masinhvien"), rs.getString("tensinhvien"), rs.getString("malop")); } catch(Exception ex) { ex.printStackTrace(); } return sv; } public int update(Sinhvien sv) { int ret=0; Trang 138 Lập trình hướng đối tượng với Java String sql="update sinhvien set tensinhvien='"+sv.getTensinhvien() +"',malop='"+sv.getMalop()+"' where masinhvien='"+sv.getMasinhvien()+"'"; ret=factor.excecNonQuery(sql); return ret; } public int insert(Sinhvien sv) { int ret=0; String sql="insert into sinhvien values('"+sv.getMasinhvien() +"','"+sv.getTensinhvien()+"','"+sv.getMalop()+"')"; ret=factor.excecNonQuery(sql); return ret; } public int delete(Sinhvien sv) { int ret=0; String sql="delete from sinhvien where masinhvien='"+sv.getMasinhvien()+"'"; ret=factor.excecNonQuery(sql); return ret; } public int delete(String masv) { int ret=0; String sql="delete from sinhvien where masinhvien='"+masv+"'"; ret=factor.excecNonQuery(sql); return ret; } } Package xử lý update (java servlet): Trang 139 Lập trình hướng đối tượng với Java Package xử lý thêm (java servlet): Trang 140 Lập trình hướng đối tượng với Java Web.xml Trang 141 Lập trình hướng đối tượng với Java Cách hiển thị nội dung lên index.jsp: Trang 142 Lập trình hướng đối tượng với Java Trang chỉnh sửa (update.jsp – tương tự cho trang newpage.jsp) Trang deletepage.jsp: Trang 143 [...]... @param args */ Trang 33 Lập trình hướng đối tượng với Java 2 public static void main(String[] args) { AccUI ui=new AccUI(); ui.doShow(); } } MODULE 2 Mục đích: Thực hành MultiThreading, hiểu được Thread, Runnable, Swings với Threading Bài tập 1: Tạo một Thread kế thừa từ Thread class Bài tập 2: Tạo một Thread implements từ Runnable interface Trang 34 Lập trình hướng đối tượng với Java 2 Bài tập 3: Hiển... 12: Thực hành về JToolBar, tương tự như câu 12, giả lập Toolbar của chương trình Foxit Reader, ứng với mỗi lệnh trên JToolBar, sinh viên hãy xuấtt thông báo đang sử dụng chức năng nào (*) Hướng dẫn: tạo các JButton rồi add vào JToolBar Trang 29 Lập trình hướng đối tượng với Java 2 Bài tập 13: Thiết kế giao diện như hình bên dưới - JTable: (*) package baitap13; import java. awt.BorderLayout; import java. awt.Container;... 9: Thực hành về Timer class (*) Trang 20 Lập trình hướng đối tượng với Java 2 Dùng class Timer để thiết kế ứng dụng ImageAnimation Giao diện sẽ có 2 JButton: Start và Stop Khi bấm Start chương trình sẽ hiển thị hình ảnh tuần tự trong mảng 10 hình ảnh có sẵn Bấm Stop để tạm dừng duyệt hình ảnh Xem hình yêu cầu Hướng dẫn: Dùng CardLayout và Timer import java. awt.*; import java. awt.event.*; import javax.swing.*;... imgUi=new ImageAnimation("Image Animation!"); imgUi.doShow(); } } Bài tập 10: Cải tiến bài tập 10 Chương trình sẽ cho phép đọc danh sách các hình ảnh bất kỳ trong ổ đĩa (*) Trang 24 Lập trình hướng đối tượng với Java 2 Hướng dẫn: import java. awt.*; import java. awt.event.*; import java. io.File; import javax.swing.*; public class ImageAnimation2 extends JFrame{ private static final long serialVersionUID... 11: Thực hành về tạo Menu Yêu cầu thiết kế Menu theo hình sau, ứng với mỗi menu item sinh viên hãy cài đặt coding để hiển thị thông báo là đang chọn menu nào (*) Hướng dẫn: JMenuBarJMenuJMenuItem Phải biết kết hợp các class này MenuBar sẽ add Menu, Menu sẽ add MenuItem, rồi gọi setJMenuBar(menuBar); Yêu cầu giả lập Menu giống như chương trình Foxit Reader: Trang 28 Lập trình hướng đối tượng với Java. .. dùng để thoát chương trình Cách lưu/ đọc đối tượng trên ổ cứng: 7 8 Tất cả các class phải implements Serializable: 1 public class Sanpham implements Serializable{…} 2 public class DanhMucSanPham implements Serializable{…} Viết một class MyFile có 2 phương thức: 1 Lưu đối tượng: public static void luuDoiTuong(Object obj, String fileName) { try Trang 19 Lập trình hướng đối tượng với Java 2 { FileOutputStream... import java. awt.Container; import java. awt.event.ActionEvent; import java. awt.event.ActionListener; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.table.DefaultTableModel;... phép toán : ‘+’ ‘-’ ‘*’ ‘:’ Thiết kế giao diện như hình bên dưới: Khi bấm nút Giải thì tùy thuộc vào phép toán được chọn mà kết quả thực hiện khác nhau import java. awt.*; import java. awt.event.*; import javax.swing.*; Trang 11 Lập trình hướng đối tượng với Java 2 import javax.swing.border.*; public class CongTruNhanChiaUI extends JFrame { private static final long serialVersionUID = 1L; public CongTruNhanChiaUI(String.. .Lập trình hướng đối tượng với Java 2 JTextField txtSoc Dùng để nhập giá trị cho c JTextField txtKetqua Dùng để hiển thị kết quả JButton btnGiai Viết lệnh để giải phương trình JButton btnXoaTrang Xóa toàn bộ dữ liệu trong ô dl JButton btnThoat Viết lệnh thoát chương trình JLabel lblTieuDe Giải Phương Trình Bậc 2 Bài tập 6: thiết kế giao diện để thực hiện các phép toán : ‘+’... phải thực hiện toàn bộ các yêu cầu 3 Nút Đóng chương trình: sẽ hiển thị thông báo hỏi người sử dụng có muốn đóng hay không Bài tập 8: Viết chương trình quản lý sản phẩm Yêu cầu chức năng: Cho phép nhập/ xuất danh mục, danh sách sản phẩm 4 Cho phép cập nhật thông tin 5 Cho phép lưu / đọc danh mục sản phẩm 6 Yêu cầu sử dụng JMenuBar, JList, JTable, JCombobox, … Trang 18 Lập trình hướng đối tượng với Java ... Collections 34 Module 4: Thực hành Networking 46 Module 5: Thực hành JDBC 64 Module 6: Thực hành JSP 75 Trang Lập trình hướng đối tượng với Java MODULE Mục... trình hướng đối tượng với Java Trang Lập trình hướng đối tượng với Java Mục lục Module : Ôn tập Graphic User Interface Module 2: Thực hành MultiThreading 23 Module 3: Thực hành. .. JFrame Hướng dẫn: Giải thích: Trang Lập trình hướng đối tượng với Java Bài tập 2: Thực hành FlowLayout FlowLayout cho phép add control dòng, hết chỗ chứa tự động xuống dòng, ta điều chỉnh hướng

Ngày đăng: 08/01/2016, 09:33

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan