Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
3,34 MB
Nội dung
Ngôn ngữ lập trình java II.MVC trong Swing(2) III.Ứng dụng MVC trong chương trình: 1.Sự ra đời của mô hình MVC 2.Mô hình MVC trong swing 1.Model(M) – View(V) – Controller(C) 2. Tương tác trong MVC 3. Ưu điểm của MVC trong Swing 1. ShowDemo 2. JListExample 3. JTableExample 1.Sự ra đời của mô hình MVC: Bắt đầu vào những năm 70 của thế kỷ 20, tại phòng thí nghiệm Xerox PARC ở Palo Alto, sự ra đời của giao diện đồ họa (Graphical User Interface) và lập trình hướng đối tượng (Object Oriented Programming) cho phép lập trình viên làm việc với những thành phần đồ họa như những đối tượng đồ họa có thuộc tính và phương thức riêng của nó. Không dừng lại ở đó, những nhà nghiên cứu ở Xerox PARC còn đi xa hơn khi cho ra đời cái gọi là kiến trúc MVC (viết tắt của Model – View – Controller). • Swing trong java sử dụng kiến trúc Model -View – Controller (MVC) như một thiết kế nền tảng đằng sau mỗi một thành phần của nó. • Trong bài báo cáo này, nhóm em sẽ trình bày phương pháp thiết kế MVC, và minh họa Cách sử dụng MVC trong swing với ngôn ngữ lập trình java. • MVC được dùng một cách rộng rãi trong nhiều hệ thống phần mềm hướng đối tượng (OO Application), bất kể được viết bằng ngôn ngữ hướng đối tượng (OO Language) nào. Và MVC được biết đến như là một thiết kế giao diện người dùng hướng đối tượng khá tốt. 2.Mô hình MVC trong swing: Hình 2: Mô hình MVC cải tiến của Swing 1.Model(M) – View(V) – Controller(C): MVC trong Swing là kiến trúc cho các ứng dụng gồm 3 phần: • Model: là phần logic của ứng dụng.(Trạng thái của đối tượng đồ hoạ hay cấu trúc dữ liệu của đối tượng) Ví dụ 1: GUI Component đơn giản là Checkbox Checkbox có thành phần: • View: phần hiển thị của ứng dụng. • Controller: điều khiển giao tiếp với người dùng. Ví dụ 2: Trên JList • View để thể hiện nó với trạng thái tương ứng lên màn hình • Controller :để xử lý những sự kiện khi có sự tương tác của người sử dụng hoặc các đối tượng khác lên Checkbox. • Model: mô hình dữ liệu cho JList • View: là giao diện hiển thị các mục chọn • Controller: xử lý sự kiện mỗi khi các mục trong JList được chọn • Model để quản lý trạng thái của nó là check hay uncheck 2. Tương tác trong MVC: • Khi người sử dụng cần thay đổi trạng thái của đối tượng đồ họa, thì sẽ tương tác thông qua Controller của đối tượng đồ họa. • Controller sẽ thực hiện việc thay đổi trên Model. Khi có bất kỳ sự thay đổi nào ở xảy ra ở Model, nó sẽ phát thông điệp (broadcast message) thông báo cho View và Controller biết. • Nhận được thông điệp từ Model: View sẽ cập nhật lại thể hiện của mình, đảm bảo rằng nó luôn là thể hiện trực quan chính xác của Model. Controller khi nhận được thông điệp từ Model, sẽ có những tương tác cần thiết phản hồi lại người sử dụng hoặc các đối tượng khác. [...]... nguyên III.Ứng dụng MVC trong chương trình: Ví dụ 1: Thiết kế giao diện như hình dưới • Model: Dữ liệu hiển thị cho TextArea • View: Giao diện hiển thị khi nhấn nút “Show” • Controller: Xử lý sự kiện khi nút “Show” được nhấn III.Ứng dụng MVC trong chương trình( 3): III.Ứng dụng MVC trong chương trình( 1): package mvc; import java. awt.FlowLayout; import java. awt.event.*; import javax .swing. *; public class... Mô hình dữ liệu cho JList • View: Giao diện hiển thị các mục được chọn • Controller: Xử lý sự kiện khi một nút được nhấn III.Ứng dụng MVC trong chương trình: III.Ứng dụng MVC trong chương trình( 5): package mvc; import java. awt.*; import java. awt.event.*; import javax .swing. *; public class JListExample implements ActionListener { private JList lst1,lst2; private DefaultListModel dt1,dt2; private JButton... args) { new JListExample(); } } III.Ứng dụng MVC trong chương trình( 8): Ví dụ 3: Thiết kế giao diện như hình sau • Model: Mô hình dữ liệu cho JTable • View: Giao diện hiển thị các mục được chọn • Controller: Xử lý sự kiện khi một nút được nhấn III.Ứng dụng MVC trong chương trình( 9): III.Ứng dụng MVC trong chương trình( 10): III.Ứng dụng MVC trong chương trình( 11): End_End jtht jlb2 jlb1 jtdtb jtb jbtTiep... Checkbox do Model lưu giữ 3 Ưu điểm của MVC trong Swing Kiến trúc MVC đã tách biệt (decoupling) sự phụ thuộc giữa các thành phần trong một đối tượng đồ họa, làm tăng tính linh động (flexibility) và tính tái sử dụng (reusebility) của đối tượng đồ họa đó Một đối tượng đồ họa bấy giờ có thể dễ dàng thay đổi giao diện bằng cách thay đổi thành phần View của nó trong khi cách thức lưu trữ (Model) cũng như... jf.setVisible(true); } III.Ứng dụng MVC trong chương trình( 2): // Phuong thuc xu ly su kien khi nut duoc nhan public void actionPerformed(ActionEvent e) { if (e.getSource()==jbt){ jta.setText("DE TAI BAO CAO NHOM 4"); } } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub new ShowDemo(); } } III.Ứng dụng MVC trong chương trình( 4): Ví dụ 2: Thiết kế giao diện... dụng MVC trong chương trình( 7): // Phuong thuc xu ly su kien khi mot nut duoc nhan public void actionPerformed(ActionEvent e) { if (e.getSource()==bt1){ Object s1 = lst1.getSelectedValue(); dt2.addElement(s1); dt1.removeElement(s1); }else{ Object s2 = lst2.getSelectedValue(); dt1.addElement(s2); dt2.removeElement(s2); } } public static void main(String[] args) { new JListExample(); } } III.Ứng dụng MVC. .. JFrame jf = new JFrame(); jf.getContentPane().setLayout(new FlowLayout()); String dsMonHoc[]= {"Pascal", "Java" ,"Visual Basic","C","C++","C#"}; dt1 = new DefaultListModel(); dt2 = new DefaultListModel(); for (int i =0;i . Ngôn ngữ lập trình java II .MVC trong Swing( 2) III.Ứng dụng MVC trong chương trình: 1.Sự ra đời của mô hình MVC 2.Mô hình MVC trong swing 1.Model(M) – View(V) – Controller(C) 2. Tương tác trong. báo cáo này, nhóm em sẽ trình bày phương pháp thiết kế MVC, và minh họa Cách sử dụng MVC trong swing với ngôn ngữ lập trình java. • MVC được dùng một cách rộng rãi trong nhiều hệ thống phần. được nhấn III.Ứng dụng MVC trong chương trình( 3): III.Ứng dụng MVC trong chương trình( 1): package mvc; import java. awt.FlowLayout; import java. awt.event.*; import javax .swing. *; public class